From 3cf7cd4d37f38a60a65f2a066f6403db9d24e6e0 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期二, 24 十二月 2024 08:50:41 +0800 Subject: [PATCH] 细节 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 474 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 378 insertions(+), 96 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index 73cc569..2657a09 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -13,8 +13,6 @@ using System.Text.RegularExpressions; using System.Threading.Tasks; using System.Windows.Forms; -using DevExpress.RichEdit.Export; -using DevExpress.XtraBars.Customization; using DevExpress.XtraEditors; using DevExpress.XtraEditors.Controls; using DevExpress.XtraGrid; @@ -22,11 +20,11 @@ using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraTab; using DevExpress.XtraTreeList; -using DevExpress.XtraWaitForm; using Gs.DevApp.Entity; using Gs.DevApp.UserControl; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using UserControls.Data; using static System.Windows.Forms.Control; @@ -61,50 +59,7 @@ } } } - /// <summary> - /// httpPost璁块棶鏈嶅姟 - /// </summary> - /// <param name="url">鏈嶅姟鍦板潃</param> - /// <param name="meth">鏂规硶鍚嶇О</param> - /// <param name="param">鍙傛暟</param> - /// <returns></returns> - //public static async Task<string> HttpPostAsync(string url, string meth, string param) - //{ - // if (string.IsNullOrEmpty(url)) - // url = WebApiUrl; - // url += meth; - // var request = (HttpWebRequest)WebRequest.Create(url); - // request.Method = "POST"; - // request.ContentType = "application/json"; - // request.Headers.Add("token", GetBasicAuthTicket()); - // request.Accept = "*/*"; - // request.Timeout = 15000; - // request.AllowAutoRedirect = false; - // request.ServicePoint.Expect100Continue = false; - // HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); - // request.CachePolicy = noCachePolicy; - // using (Stream requestStream = await request.GetRequestStreamAsync()) - // { - // byte[] dataBytes = Encoding.UTF8.GetBytes(param); - // await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length); - // } - // using (WebResponse response = await request.GetResponseAsync()) - // { - // using (StreamReader reader = new StreamReader(response.GetResponseStream())) - // { - // return await reader.ReadToEndAsync(); - // } - // } - //} - - /// <summary> - /// httpPost璁块棶鏈嶅姟 - /// </summary> - /// <param name="url">鏈嶅姟鍦板潃</param> - /// <param name="meth">鏂规硶鍚嶇О</param> - /// <param name="param">鍙傛暟</param> - /// <returns></returns> public static string HttpPost(string url, string meth, string param) { string _caption = "鎷煎懡鍔犺浇涓紝璇风◢鍚�..."; @@ -128,7 +83,7 @@ request.Timeout = 15000; request.AllowAutoRedirect = false; request.ServicePoint.Expect100Continue = false; - wdf.SetCaption(_caption+"锛�10/100锛�" + meth); + wdf.SetCaption(_caption + "锛�10/100锛�" + meth); HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); request.CachePolicy = noCachePolicy; wdf.SetCaption(_caption + "锛�20/100锛�" + meth); @@ -314,21 +269,30 @@ { isEdt = !isEdt; if (gridViews != null) + { foreach (var gv in gridViews) { foreach (GridColumn colmn in gv.Columns) { + colmn.OptionsColumn.AllowEdit = true; if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { - // colmn.Visible = !isEdt; - // break; - colmn.OptionsColumn.AllowEdit = true; + colmn.Visible = !isEdt; } else - colmn.OptionsColumn.AllowEdit = !isEdt; + { + if (isEdt == false) { + if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit")) + colmn.OptionsColumn.ReadOnly = isEdt; + else + colmn.OptionsColumn.ReadOnly = !isEdt; + } + else + colmn.OptionsColumn.ReadOnly = isEdt; + } } - //gv.OptionsBehavior.Editable = !isEdt; } + } var _btnAry = controls.Find("btnSelect", false); if (_btnAry.Length > 0) { @@ -604,7 +568,61 @@ txt.Enabled = false; continue; } - + //鑷畾鐢ㄦ埛 + if (colType is UcLookUser) + { + var txt = colType as UcLookUser; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾鎵撳嵃鏈� + if (colType is UcLookPrint) + { + var txt = colType as UcLookPrint; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾缂洪櫡绫诲埆 + if (colType is UcLookDefectType) + { + var txt = colType as UcLookDefectType; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾閮ㄩ棬 + if (colType is UcLookDepartment) + { + var txt = colType as UcLookDepartment; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾daa + if (colType is UcLookDaa) + { + var txt = colType as UcLookDaa; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } if (colType is SimpleButton) { var txt = colType as SimpleButton; @@ -631,21 +649,31 @@ { isEdt = !isEdt; if (gridViews != null) + { foreach (var gv in gridViews) { foreach (GridColumn colmn in gv.Columns) { + colmn.OptionsColumn.AllowEdit = true; if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { - // colmn.Visible = !isEdt; - // break; - colmn.OptionsColumn.AllowEdit = true; + colmn.Visible = !isEdt; } else - colmn.OptionsColumn.AllowEdit = !isEdt; + { + if (isEdt == false) + { + if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit")) + colmn.OptionsColumn.ReadOnly = isEdt; + else + colmn.OptionsColumn.ReadOnly = !isEdt; + } + else + colmn.OptionsColumn.ReadOnly = isEdt; + } } - //gv.OptionsBehavior.Editable = !isEdt; } + } foreach (Control ctrl in controls) { //澶氳鏂囨湰 @@ -683,7 +711,12 @@ if (ctrl is TextEdit) { var txt = ctrl as TextEdit; - txt.Text = ""; + if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren")) + { + txt.Text = txt.Tag.ToString().Replace("moren.", ""); + } + else + txt.Text = ""; txt.ReadOnly = isEdt; continue; } @@ -706,7 +739,7 @@ if (ctrl is CheckBox) { var txt = ctrl as CheckBox; - txt.Checked = false; + //txt.Checked = false; txt.Enabled = !isEdt; } if (ctrl is CheckEdit) @@ -788,6 +821,46 @@ txt.Enabled = !isEdt; continue; } + //鑷畾鐢ㄦ埛 + if (ctrl is UcLookUser) + { + var txt = ctrl as UcLookUser; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾鎵撳嵃鏈� + if (ctrl is UcLookPrint) + { + var txt = ctrl as UcLookPrint; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾缂洪櫡绫诲埆 + if (ctrl is UcLookDefectType) + { + var txt = ctrl as UcLookDefectType; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾閮ㄩ棬 + if (ctrl is UcLookDepartment) + { + var txt = ctrl as UcLookDepartment; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾daa + if (ctrl is UcLookDaa) + { + var txt = ctrl as UcLookDaa; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } if (ctrl is SimpleButton) { var txt = ctrl as SimpleButton; @@ -809,21 +882,26 @@ { isEdt = !isEdt; if (gridViews != null) + { foreach (var gv in gridViews) { foreach (GridColumn colmn in gv.Columns) { + colmn.OptionsColumn.AllowEdit = true; if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { - // colmn.Visible = !isEdt; - // break; - colmn.OptionsColumn.AllowEdit = true; + colmn.Visible = !isEdt; } else - colmn.OptionsColumn.AllowEdit = !isEdt; + { + if (colmn.Tag!=null && colmn.Tag.ToString().EndsWith("edit")) + colmn.OptionsColumn.ReadOnly = isEdt; + else + colmn.OptionsColumn.ReadOnly = !isEdt; + } } - //gv.OptionsBehavior.Editable = !isEdt; } + } foreach (Control ctrl in controls) { //鏂囨湰 @@ -965,6 +1043,63 @@ txt.Enabled = false; continue; } + //鑷畾鐢ㄦ埛 + if (ctrl is UcLookUser) + { + var txt = ctrl as UcLookUser; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾鎵撳嵃 + if (ctrl is UcLookPrint) + { + var txt = ctrl as UcLookPrint; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾缂洪櫡绫诲埆 + if (ctrl is UcLookDefectType) + { + var txt = ctrl as UcLookDefectType; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾閮ㄩ棬 + if (ctrl is UcLookDepartment) + { + var txt = ctrl as UcLookDepartment; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + //鑷畾daa + if (ctrl is UcLookDaa) + { + var txt = ctrl as UcLookDaa; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } + + if (ctrl is SimpleButton) + { + var txt = ctrl as SimpleButton; + txt.Enabled = !isEdt; + continue; + } } } @@ -987,6 +1122,59 @@ tabControl.TabPages[i].PageEnabled = false; tabControl.TabPages[idx].PageEnabled = true; tabControl.SelectedTabPageIndex = idx; + } + + + /// <summary> + /// tab璺宠浆锛�0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔� + /// </summary> + /// <param name="tabControl"></param> + /// <param name="idx">0鏌ョ湅锛�1閫�鍑猴紝2鍒犻櫎锛�3淇敼锛�4鏂板鍔�</param> + public static void JumpTab(XtraTabControl tabControl, int action) + { + + if (action == 0) + { + tabControl.TabPages[0].PageEnabled = true; + tabControl.TabPages[1].PageEnabled = true; + tabControl.SelectedTabPageIndex = 1; + return; + } + if (action == 1) + { + tabControl.TabPages[0].PageEnabled = true; + tabControl.TabPages[1].PageEnabled = true; + tabControl.SelectedTabPageIndex = 0; + return; + } + if (action == 2) + { + tabControl.TabPages[0].PageEnabled = true; + tabControl.TabPages[1].PageEnabled = true; + tabControl.SelectedTabPageIndex = 0; + return; + } + if (action == 3) + { + tabControl.TabPages[0].PageEnabled = false; + tabControl.TabPages[1].PageEnabled = true; + tabControl.SelectedTabPageIndex = 1; + return; + } + if (action == 4) + { + tabControl.TabPages[0].PageEnabled = false; + tabControl.TabPages[1].PageEnabled = true; + tabControl.SelectedTabPageIndex = 1; + return; + } + if (action == 5) + { + tabControl.TabPages[0].PageEnabled = true; + tabControl.TabPages[1].PageEnabled = true; + tabControl.SelectedTabPageIndex = 1; + return; + } } /// <summary> @@ -1097,6 +1285,13 @@ if (str.ToUpper() == "true".ToUpper()) return 1; return 0; + } + + public string GetIsNullOrEmpty(string str) + { + if (string.IsNullOrEmpty(str.Trim())) + return "{>"; + return str.Trim(); } /// <summary> @@ -1238,7 +1433,6 @@ } } } - return ""; } @@ -1352,21 +1546,28 @@ } return _sbSqlWhere.ToString(); } + + + public delegate void DelegateGetModel(string guid); + public delegate void DelegateGetList(int currentPage); /// <summary> /// /// </summary> /// <param name="gridView1">gridview</param> - /// <param name="btnChkIco">鍥炬爣鎸夐挳</param> - /// <param name="fm">褰撳墠绐椾綋</param> + /// <param name="picCheckBox">鍥炬爣鎸夐挳</param> + /// <param name="fm"></param> /// <param name="fileName">瀛楁</param> /// <param name="icoName">鍥炬爣璺緞</param> - public static void SetGridSear(GridView gridView1, PictureBox btnChkIco = null, Form fm = null, string fileName = "checkStatus", string icoName = "") + /// <param name="action"></param> + public static void SetGridViewParameter(GridView gridView1, PictureBox picCheckBox = null, Form fm = null, string fileName = "checkStatus", string icoName = "", DelegateGetModel action = null) { + gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀 foreach (GridColumn column in gridView1.Columns) { column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains; column.OptionsFilter.ImmediateUpdateAutoFilter = false; - // column.OptionsColumn.AllowEdit = false; + column.OptionsColumn.AllowEdit = true; + column.OptionsColumn.ReadOnly = true; if (column.Tag == null || column.Tag.ToString().Length <= 0) column.OptionsFilter.AllowAutoFilter = false; } @@ -1391,44 +1592,125 @@ e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5); e.Graphics.DrawString(str, f, Brushes.Gray, r); }; - if (btnChkIco != null) + if (picCheckBox != null) { gridView1.FocusedRowChanged += (s, e) => { - UtilityHelper.SetCheckIco(s, btnChkIco, fm, fileName, icoName); + UtilityHelper.SetCheckIco(s, picCheckBox, fm, fileName, icoName); }; } + if (action != null) + { + gridView1.ShownEditor += (sender, e) => + { + DevExpress.XtraGrid.Views.Grid.GridView view = sender as DevExpress.XtraGrid.Views.Grid.GridView; + view.ActiveEditor.DoubleClick += (ssssss, eeeeeee) => + { + int _handle = gridView1.FocusedRowHandle; + if (_handle == -1) + return; + DataRow row = gridView1.GetDataRow(_handle); + if (row == null) + return; + string _guid = row["guid"].ToString(); + if (string.IsNullOrEmpty(_guid)) + return; + action(_guid); + }; + if (view.ActiveEditor is TextEdit) + view.ActiveEditor.MouseUp += ActiveEditor_MouseUp; + }; + } + } + private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e) + { + BaseEdit edit = sender as BaseEdit; + edit.MouseUp -= ActiveEditor_MouseUp; + edit.SelectAll(); + } + + public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null) + { + xtraTabControl1.SelectedPageChanged += (s, e) => + { + if (xtraTabControl1.SelectedTabPageIndex == 1) + { + int _handle = gridView1.FocusedRowHandle; + if (_handle == -1) + return; + DataRow row = gridView1.GetDataRow(_handle); + if (row == null) + return; + string _guid = row["guid"].ToString(); + if (string.IsNullOrEmpty(_guid)) + return; + action(_guid); + } + if (xtraTabControl1.SelectedTabPageIndex == 0) + { + page(pageBar1.CurrentPage); + } + }; + } + + /// <summary> + /// 璁剧疆鏄庣粏grid鏍峰紡 + /// </summary> + /// <param name="gridView1"></param> + /// <param name="btnChkIco"></param> + /// <param name="fm"></param> + /// <param name="fileName"></param> + /// <param name="icoName"></param> + public static void SetGridViewParameterMx(GridView gridView1) + { + gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀 + gridView1.OptionsFilter.AllowFilterEditor = false; + gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; + gridView1.OptionsCustomization.AllowFilter = false; + gridView1.OptionsFind.ShowSearchNavButtons = false; + gridView1.OptionsView.ShowAutoFilterRow = false; + gridView1.OptionsView.ShowGroupPanel = false; + gridView1.IndicatorWidth = 40; + gridView1.CustomDrawRowIndicator += (s, e) => + { + if (e.Info.IsRowIndicator && e.RowHandle >= 0) + e.Info.DisplayText = (e.RowHandle + 1).ToString(); + }; + gridView1.CustomDrawEmptyForeground += (s, e) => + { + var str = "鏆傛棤鏄庣粏鏁版嵁!"; + var f = new Font("寰蒋闆呴粦", 16); + var r = new Rectangle(gridView1.GridControl.Width / 2 - 100, + e.Bounds.Top + 45, e.Bounds.Right - 5, e.Bounds.Height - 5); + e.Graphics.DrawString(str, f, Brushes.Gray, r); + }; + gridView1.ValidatingEditor += (sender, e) => + { + //yz_quantity_0 + GridView view = sender as GridView; + if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_")) + { + string[] _ary = view.FocusedColumn.Tag.ToString().Split('_'); + if (_ary.Length > 2) + { + if (_ary[2] == "0") + { + double price = 0; if (!Double.TryParse(e.Value as String, out price)) + { e.Valid = false; e.ErrorText = "璇疯緭鍏ユ纭殑鏁板瓧."; } + return; + } + } + } + }; + } + #endregion public static bool IsNumeric(string str) { Regex regex = new Regex("^[0-9]+$"); return regex.IsMatch(str); - } - - /// <summary> - /// yz_quantity_0锛寉z_瀛楁_绫诲瀷 - /// </summary> - /// <param name="sender"></param> - /// <param name="e"></param> - public static void SetValidatingEditor(object sender, BaseContainerValidateEditorEventArgs e) - { - //yz_quantity_0 - GridView view = sender as GridView; - if (view.FocusedColumn.Tag != null && view.FocusedColumn.Tag.ToString().StartsWith("yz_")) - { - string[] _ary = view.FocusedColumn.Tag.ToString().Split('_'); - if (_ary.Length > 2) - { - if (_ary[2] == "0") - { - double price = 0; if (!Double.TryParse(e.Value as String, out price)) - { e.Valid = false; e.ErrorText = "璇疯緭鍏ユ纭殑鏁板瓧."; } - return; - } - } - } } } -- Gitblit v1.9.3