From 3bfbb2e22e9ee3b54c51e83a7262d907657e48c9 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期五, 17 一月 2025 11:30:08 +0800 Subject: [PATCH] 细节 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 396 ++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 311 insertions(+), 85 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index 2953a88..25b4264 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -24,6 +24,7 @@ using Gs.DevApp.UserControl; using Newtonsoft.Json; using Newtonsoft.Json.Linq; +using OracleInternal.Sharding; using UserControls.Data; using static System.Windows.Forms.Control; @@ -80,30 +81,30 @@ request.ContentType = "application/json"; request.Headers.Add("token", GetBasicAuthTicket()); request.Accept = "*/*"; - request.Timeout = 15000; + request.Timeout = 150000; 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); + // wdf.SetCaption(_caption + "锛�20/100锛�" + meth); requestStream = new StreamWriter(request.GetRequestStream()); requestStream.Write(param); requestStream.Close(); - wdf.SetCaption(_caption + "30/100锛�" + meth); + // wdf.SetCaption(_caption + "30/100锛�" + meth); response = request.GetResponse(); - wdf.SetCaption(_caption + "锛�40/100锛�"); + // wdf.SetCaption(_caption + "锛�40/100锛�"); if (response != null) { - wdf.SetCaption(_caption + "锛�50/100锛�" + meth); + // wdf.SetCaption(_caption + "锛�50/100锛�" + meth); var reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); responseStr = reader.ReadToEnd(); //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); reader.Close(); - wdf.SetCaption(_caption + "锛�60/100锛�" + meth); + // wdf.SetCaption(_caption + "锛�60/100锛�" + meth); } - wdf.SetCaption(_caption + "锛�80/100锛�" + meth); + // wdf.SetCaption(_caption + "锛�80/100锛�" + meth); } catch (Exception ex) { @@ -117,7 +118,7 @@ requestStream = null; response = null; } - wdf.SetCaption(_caption + "锛�90/100锛�"); + // wdf.SetCaption(_caption + "锛�90/100锛�"); wdf.Close(); return responseStr; } @@ -269,21 +270,37 @@ { 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("gvBtnAlawys")) + { + colmn.Visible = true; + colmn.OptionsColumn.ReadOnly = false; + }; 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) { @@ -314,7 +331,6 @@ txt.ReadOnly = isEdt; continue; } - if (colType is ImageComboBoxEdit) { var txt = colType as ImageComboBoxEdit; @@ -329,32 +345,25 @@ } continue; } - if (colType is ComboBoxEdit) { var txt = colType as ComboBoxEdit; if (txt.Properties.TextEditStyle == TextEditStyles.DisableTextEditor) - txt.SelectedIndex = int.Parse(strVal); + try + { + txt.SelectedIndex = int.Parse(strVal); + } + catch (Exception) + { + + txt.Text = strVal; + } else txt.Text = strVal; txt.ReadOnly = isEdt; continue; } - - //涓嬫媺 - if (colType is ComboBoxEdit) - { - var txt = colType as ComboBoxEdit; - if (txt.Properties.TextEditStyle == - TextEditStyles.DisableTextEditor) - txt.SelectedIndex = int.Parse(strVal); - else - txt.Text = strVal; - txt.ReadOnly = isEdt; - continue; - } - //鑷畾涔変笅鎷� if (colType is UcComBox) { @@ -363,14 +372,18 @@ txt.Enabled = !isEdt; continue; } - //鏂囨湰 if (colType is TextEdit) { var txt = colType as TextEdit; if (txt != null) txt.Text = strVal; - txt.ReadOnly = isEdt; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; continue; } if (colType is MemoEdit) @@ -378,10 +391,14 @@ var txt = colType as MemoEdit; if (txt != null) txt.Text = strVal; - txt.ReadOnly = isEdt; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; continue; } - //鏁板瓧鍗� if (colType is NumericUpDown) { @@ -391,7 +408,6 @@ txt.ReadOnly = isEdt; continue; } - //鍗曢�� if (colType is CheckEdit) { @@ -416,24 +432,30 @@ txt.ReadOnly = isEdt; continue; } - //鍗曢�� if (colType is CheckBox) { var txt = colType as CheckBox; if (txt != null) - txt.Checked = bool.Parse(strVal); + switch (strVal) + { + case "True": + txt.Checked = true; + break; + case "1": + txt.Checked = true; + break; + case "False": + txt.Checked = false; + break; + default: + txt.Checked = false; + break; + } txt.Enabled = !isEdt; continue; } - if (colType is CheckEdit) - { - var txt = colType as CheckEdit; - if (txt != null) - txt.Checked = bool.Parse(strVal); - txt.ReadOnly = isEdt; - continue; - } + //鏃堕棿 if (colType is DateTimePicker) { @@ -442,7 +464,6 @@ txt.Enabled = !isEdt; continue; } - //Label if (colType is Label) { @@ -525,7 +546,6 @@ txt.Enabled = false; continue; } - //鑷畾瀹㈡埛 if (colType is UcLookCustomer) { @@ -614,6 +634,17 @@ txt.Enabled = false; continue; } + //鑷畾濮斿 + if (colType is UcLookWwgd) + { + var txt = colType as UcLookWwgd; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } if (colType is SimpleButton) { var txt = colType as SimpleButton; @@ -625,6 +656,18 @@ catch (Exception ex) { MessageBox.Show(ex.Message); + } + } + + foreach (Control ctrl in controls) + { + if (ctrl is TextEdit) + { + var txt = ctrl as TextEdit; + bool _bl = _isRead(txt.Tag, isEdt); + txt.ReadOnly = _bl; + // txt.ReadOnly = isEdt; + continue; } } } @@ -640,32 +683,51 @@ { 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) { //澶氳鏂囨湰 if (ctrl is MemoEdit) { var txt = ctrl as MemoEdit; - txt.Text = ""; - txt.ReadOnly = isEdt; + if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren")) + { + txt.Text = txt.Tag.ToString().Replace("moren.", ""); + } + else + txt.Text = ""; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; continue; } - //涓嬫媺 if (ctrl is ComboBoxEdit) { @@ -678,7 +740,6 @@ txt.ReadOnly = isEdt; continue; } - //鑷畾涔夌殑涓嬫媺 if (ctrl is UcComBox) { @@ -687,7 +748,6 @@ txt.Enabled = !isEdt; continue; } - //鏂囨湰 if (ctrl is TextEdit) { @@ -698,17 +758,15 @@ } else txt.Text = ""; - txt.ReadOnly = isEdt; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; continue; } - if (ctrl is MemoEdit) - { - var txt = ctrl as MemoEdit; - if (txt != null) - txt.Text = ""; - txt.ReadOnly = isEdt; - continue; - } + //鏃堕棿 if (ctrl is DateTimePicker) { @@ -720,13 +778,19 @@ if (ctrl is CheckBox) { var txt = ctrl as CheckBox; - //txt.Checked = false; txt.Enabled = !isEdt; + txt.Checked = false; } if (ctrl is CheckEdit) { var txt = ctrl as CheckEdit; txt.ReadOnly = isEdt; + if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren")) + { + txt.Checked = bool.Parse(txt.Tag.ToString().Replace("moren.", "")); + } + else + txt.Checked = false; continue; } @@ -842,13 +906,20 @@ txt.Enabled = !isEdt; continue; } + //鑷畾濮斿 + if (ctrl is UcLookWwgd) + { + var txt = ctrl as UcLookWwgd; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } if (ctrl is SimpleButton) { var txt = ctrl as SimpleButton; txt.Enabled = !isEdt; continue; } - } } @@ -863,34 +934,49 @@ { 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) { //鏂囨湰 if (ctrl is TextEdit) { var txt = ctrl as TextEdit; - txt.ReadOnly = isEdt; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; continue; } if (ctrl is MemoEdit) { var txt = ctrl as MemoEdit; - txt.ReadOnly = isEdt; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; continue; } //鏁板瓧鍗� @@ -1069,9 +1155,39 @@ txt.Enabled = false; continue; } + //鑷畾濮斿 + if (ctrl is UcLookWwgd) + { + var txt = ctrl as UcLookWwgd; + 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; + } } } + private static bool _isRead(object obj, bool isEdt = false) + { + ///姘歌繙鏄彧璇荤殑 + if (obj != null && obj.ToString().ToUpper() == ("readOnly".ToUpper())) + { + return true; + } + ///姘歌繙鏄彲鍐欑殑 + if (obj != null && obj.ToString().ToUpper() == ("readOnly-1".ToUpper())) + { + return false; + } + return isEdt; + } /// <summary> /// 鍒囨崲閫夐」鍗� /// </summary> @@ -1255,7 +1371,12 @@ return 1; return 0; } - + public static bool ToBoole(string str) + { + if (str.ToUpper() == "true".ToUpper()) + return true; + return false; + } public string GetIsNullOrEmpty(string str) { if (string.IsNullOrEmpty(str.Trim())) @@ -1454,9 +1575,15 @@ btnChkIco.Text = checkStatus; btnChkIco.Visible = true; if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper()) + { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; + btnChkIco.Tag = "宸插鏍�"; + } else + { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck; + btnChkIco.Tag = "鏈鏍�"; + } btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸 btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌 } @@ -1464,7 +1591,44 @@ } } - + /// <summary> + /// + /// </summary> + /// <param name="gridView1"></param> + /// <param name="zdChk">chk瀛楁</param> + /// <param name="zdChkUser">chk user</param> + /// <param name="zdCkDate">chk date</param> + /// <param name="btnChkIco"></param> + /// <param name="fm">褰撳墠绐椾綋</param> + /// <param name="fileName">1涓哄鏍革紝0涓哄弽瀹℃牳</param> + /// <param name="icoName"></param> + public static void SetCheckIco(GridView gridView1, string zdChk, string zdChkUser, string zdCkDate, PictureBox btnChkIco, Form fm, string fileName, string icoName = "") + { + if (fileName == "1" || fileName.ToUpper() == true.ToString().ToUpper()) + { + btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; + btnChkIco.Tag = "宸插鏍�"; + if (!string.IsNullOrEmpty(zdChkUser)) + gridView1.SetFocusedRowCellValue(zdChkUser, "宸插鏍�"); + if (!string.IsNullOrEmpty(zdCkDate)) + gridView1.SetFocusedRowCellValue(zdCkDate, DateTime.Now.ToString()); + if (!string.IsNullOrEmpty(zdChk)) + gridView1.SetFocusedRowCellValue(zdChk, true); + } + else + { + btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck; + btnChkIco.Tag = "鏈鏍�"; + if (!string.IsNullOrEmpty(zdChkUser)) + gridView1.SetFocusedRowCellValue(zdChkUser, ""); + if (!string.IsNullOrEmpty(zdCkDate)) + gridView1.SetFocusedRowCellValue(zdCkDate, ""); + if (!string.IsNullOrEmpty(zdChk)) + gridView1.SetFocusedRowCellValue(zdChk, false); + } + btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸 + btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌 + } #region 璁剧疆鎼滅储 public static string getQueryWord(string str) { @@ -1474,9 +1638,15 @@ { return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "鍖呭惈)", "%" + val + "%"); } - public static List<FilterEntity> GetDilter(GridColumnCollection Columns) + public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null) { List<FilterEntity> fiList = new List<FilterEntity>(); + if (gridView1 != null) + { + bool b = gridView1.ActiveFilterEnabled; + if (b == false) + return fiList; + } foreach (DevExpress.XtraGrid.Columns.GridColumn col in Columns) { ColumnFilterInfo filter = col.FilterInfo; @@ -1533,20 +1703,28 @@ gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀 foreach (GridColumn column in gridView1.Columns) { - column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains; - column.OptionsFilter.ImmediateUpdateAutoFilter = false; column.OptionsColumn.AllowEdit = true; - column.OptionsColumn.ReadOnly = true; + column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains; + column.OptionsFilter.AutoFilterCondition = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains; + column.OptionsFilter.ImmediateUpdateAutoFilter = false; + if (column.Tag == null || column.Tag.ToString().EndsWith("edit")) + column.OptionsColumn.ReadOnly = false; + else + column.OptionsColumn.ReadOnly = true; if (column.Tag == null || column.Tag.ToString().Length <= 0) column.OptionsFilter.AllowAutoFilter = false; } gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False; + gridView1.OptionsView.ShowAutoFilterRow = true; gridView1.OptionsFilter.AllowFilterEditor = false; gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; + gridView1.OptionsFilter.AllowColumnMRUFilterList = false; + gridView1.OptionsFilter.AllowMRUFilterList = false; gridView1.OptionsCustomization.AllowFilter = false; gridView1.OptionsFind.ShowSearchNavButtons = false; - gridView1.OptionsView.ShowAutoFilterRow = true; gridView1.OptionsView.ShowGroupPanel = false; + //鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯 + // gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never; gridView1.IndicatorWidth = 50; gridView1.CustomDrawRowIndicator += (s, e) => { @@ -1590,6 +1768,40 @@ view.ActiveEditor.MouseUp += ActiveEditor_MouseUp; }; } + gridView1.RowStyle += (s, e) => + { + //榛樿閫変腑琛屼笉鍙樿壊 + gridView1.OptionsSelection.EnableAppearanceFocusedRow = false; + //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊 + gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; + if (e.RowHandle >= 0) + { + DataRow row = gridView1.GetDataRow(e.RowHandle); + if (row == null) + return; + bool columnExists = row.Table.Columns.Contains("isRed"); + if (columnExists == true) + { + string _isRed = row["isRed"].ToString(); + if (_isRed == "1") + { + e.Appearance.ForeColor = Color.Tomato; + } + } + // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹� + if (gridView1.GetRow(e.RowHandle) == gridView1.GetFocusedRow()) + { + e.Appearance.BackColor = Color.Azure; + e.Appearance.BackColor2 = Color.LightSkyBlue; + } + //else if (gridView1.IsRowHotTracked(e.RowHandle)) + //{ + // // 璁剧疆榧犳爣鎮仠琛岀殑鑳屾櫙鑹� + // e.Appearance.BackColor = Color.LightBlue; + // e.Appearance.BackColor2 = Color.LightBlue; + //} + } + }; } private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e) @@ -1606,19 +1818,33 @@ if (xtraTabControl1.SelectedTabPageIndex == 1) { int _handle = gridView1.FocusedRowHandle; - if (_handle == -1) + bool _bl = xtraTabControl1.TabPages[0].PageEnabled; + if (_bl == false) { return; }; + if (_handle < 0) + { + xtraTabControl1.SelectedTabPageIndex = -1; + Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString() + "tag" + xtraTabControl1.SelectedTabPageIndex.ToString()); return; + } DataRow row = gridView1.GetDataRow(_handle); if (row == null) + { + xtraTabControl1.SelectedTabPageIndex = -1; + Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString()); return; + } string _guid = row["guid"].ToString(); if (string.IsNullOrEmpty(_guid)) + { + xtraTabControl1.SelectedTabPageIndex = -1; + Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString()); return; + } action(_guid); } if (xtraTabControl1.SelectedTabPageIndex == 0) { - page(pageBar1.CurrentPage); + // page(pageBar1.CurrentPage); } }; } -- Gitblit v1.9.3