From aa77240aba2a41a9a653f6400ed1ff54310f92d4 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期四, 03 四月 2025 13:03:31 +0800 Subject: [PATCH] 字典 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 302 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 262 insertions(+), 40 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index 3ab67e7..f65be3c 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -4,6 +4,7 @@ using System.Data; using System.Drawing; using System.IO; +using System.Linq; using System.Net; using System.Net.Cache; using System.Net.Http; @@ -17,14 +18,15 @@ using DevExpress.XtraEditors.Controls; using DevExpress.XtraGrid; using DevExpress.XtraGrid.Columns; +using DevExpress.XtraGrid.Menu; using DevExpress.XtraGrid.Views.Grid; using DevExpress.XtraTab; using DevExpress.XtraTreeList; +using Gs.DevApp.DevFrm.Work; using Gs.DevApp.Entity; using Gs.DevApp.UserControl; using Newtonsoft.Json; using Newtonsoft.Json.Linq; -using OracleInternal.Sharding; using UserControls.Data; using static System.Windows.Forms.Control; @@ -190,11 +192,7 @@ string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginUserGuid) ? Guid.NewGuid().ToString() : LoginInfoModel.CurrentUser.LoginUserGuid; - var orgGuid = - string.IsNullOrEmpty(LoginInfoModel.CurrentUser.LoginOrgGuid) - ? Guid.NewGuid().ToString() - : LoginInfoModel.CurrentUser.LoginOrgGuid; - var token = userGuid + "~" + orgGuid; + var token = userGuid; return token; } @@ -285,6 +283,8 @@ if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui")) { colmn.Visible = !isEdt; + if (colmn.Visible==true) + colmn.VisibleIndex = 99999; } else { @@ -412,7 +412,14 @@ if (colType is CheckEdit) { var txt = colType as CheckEdit; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; if (txt != null) + { switch (strVal) { case "True": @@ -428,8 +435,8 @@ txt.Checked = false; break; } + } - txt.ReadOnly = isEdt; continue; } //鍗曢�� @@ -645,10 +652,33 @@ txt.Enabled = false; continue; } + //鑷畾閿�鍞� + if (colType is UcLookSales) + { + var txt = colType as UcLookSales; + txt.SetIdOrCode(strVal); + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } if (colType is SimpleButton) { var txt = colType as SimpleButton; txt.Enabled = !isEdt; + continue; + } + + //鑷畾涓嶈壇 + if (colType is UcDictionary) + { + var txt = colType as UcDictionary; + txt.TextTxt=(strVal); + //if (txt.IsReadly == false) + // txt.Enabled = !isEdt; + //else + // txt.Enabled = false; continue; } } @@ -766,7 +796,6 @@ txt.ReadOnly = isEdt; continue; } - //鏃堕棿 if (ctrl is DateTimePicker) { @@ -784,16 +813,14 @@ 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")) + if (_isRead(txt.Tag)) { - txt.Checked = bool.Parse(txt.Tag.ToString().Replace("moren.", "")); + txt.ReadOnly = true; } else - txt.Checked = false; + txt.ReadOnly = isEdt; continue; } - //鑷畾涔変粨搴� if (ctrl is UcLookCk) { @@ -910,6 +937,14 @@ if (ctrl is UcLookWwgd) { var txt = ctrl as UcLookWwgd; + txt.SetIdOrCode("-1"); + txt.Enabled = !isEdt; + continue; + } + //鑷畾閿�鍞� + if (ctrl is UcLookSales) + { + var txt = ctrl as UcLookSales; txt.SetIdOrCode("-1"); txt.Enabled = !isEdt; continue; @@ -1165,6 +1200,16 @@ txt.Enabled = false; continue; } + //鑷畾閿�鍞� + if (ctrl is UcLookSales) + { + var txt = ctrl as UcLookSales; + if (txt.IsReadly == false) + txt.Enabled = !isEdt; + else + txt.Enabled = false; + continue; + } if (ctrl is SimpleButton) { var txt = ctrl as SimpleButton; @@ -1339,7 +1384,23 @@ if (string.IsNullOrEmpty(str)) return Guid.Empty; return Guid.Parse(str); } + public static decimal ToDecimal(string str) + { + try + { + return decimal.Parse(str); + } + catch (Exception) + { + return 0; + } + } + public static decimal? GetDecimal(string s) + { + if (string.IsNullOrEmpty(s)) return null; + return decimal.Parse(s); + } public static int ToInt(string str) { try @@ -1377,12 +1438,7 @@ return true; return false; } - public string GetIsNullOrEmpty(string str) - { - if (string.IsNullOrEmpty(str.Trim())) - return "{>"; - return str.Trim(); - } + /// <summary> /// 璇诲彇grid鐨勫綋鍓嶈 @@ -1548,7 +1604,6 @@ return rowGuid; } } - return ""; } @@ -1566,7 +1621,7 @@ GridView dgv = s as GridView; if (dgv != null) { - if (dgv.GetSelectedRows() != null) + if (dgv.GetSelectedRows() != null && dgv.GetSelectedRows().Count() > 0) { var selectedRow = dgv.GetSelectedRows()[0]; // 鑾峰彇绗竴涓�変腑琛岀殑绱㈠紩 if (selectedRow >= 0) @@ -1574,7 +1629,7 @@ var checkStatus = dgv.GetRowCellValue(selectedRow, fileName).ToString(); // 鑾峰彇鎸囧畾鍒楃殑鍊� btnChkIco.Text = checkStatus; btnChkIco.Visible = true; - if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper()) + if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper() || checkStatus == "宸插鏍�") { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; btnChkIco.Tag = "宸插鏍�"; @@ -1585,7 +1640,7 @@ btnChkIco.Tag = "鏈鏍�"; } btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸 - btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌 + btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 25); // 璺濈椤堕儴10鍍忕礌 } } } @@ -1604,6 +1659,23 @@ /// <param name="icoName"></param> public static void SetCheckIco(GridView gridView1, string zdChk, string zdChkUser, string zdCkDate, PictureBox btnChkIco, Form fm, string fileName, string icoName = "") { + btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸 + btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌 + if (gridView1 == null) + { + btnChkIco.Visible = true; + if (fileName == "1") + { + btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; + btnChkIco.Tag = "宸插鏍�"; + } + else + { + btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck; + btnChkIco.Tag = "鏈鏍�"; + } + return; + } if (fileName == "1" || fileName.ToUpper() == true.ToString().ToUpper()) { btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check; @@ -1626,17 +1698,14 @@ 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) + + public static FilterEntity getFilterEntityWord(string id, string idDec, string val, string type) { - return str.ToUpper().Replace("query_".ToUpper(), ""); - } - public static FilterEntity getFilterEntityWord(string id, string idDec, string val) - { - return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "鍖呭惈)", "%" + val + "%"); + return new FilterEntity(id, idDec + ")", " like ", "鍖呭惈)", "%" + val + "%", type); } public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null) { @@ -1655,7 +1724,7 @@ // fiList.Add(new FilterEntity("b.FNumber", "浣跨敤缁勭粐", " like ", "鍖呭惈", "%" + filter.Value + "%")); string[] ddd = filter.FilterString.Replace("Contains", "").Replace("(", "").Replace(")", "").Replace("'", "").Replace("'", "").Split(','); //Contains([fSubsidiary], '005') - fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim())); + fiList.Add(getFilterEntityWord(col.Tag.ToString(), col.Caption.Trim(), ddd[1].Trim(), col.UnboundExpression)); } return fiList; } @@ -1680,8 +1749,20 @@ } } else - _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + - itm.fileValue + "'"); + { + switch (itm.fileType) + { + case "鏃堕棿绫诲瀷": + _sbSqlWhere.Append(" and CONVERT(nvarchar(30)," + itm.fileId + ",23)" + itm.fileOper + "'" + itm.fileValue + "'"); + break; + //case "鏁板�肩被鍨�": + // _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'"); + // break; + default: + _sbSqlWhere.Append(" and " + itm.fileId + itm.fileOper + "'" + itm.fileValue + "'"); + break; + } + } } return _sbSqlWhere.ToString(); } @@ -1690,7 +1771,7 @@ public delegate void DelegateGetModel(string guid); public delegate void DelegateGetList(int currentPage); /// <summary> - /// + /// 璁剧疆涓昏〃鐨勬牱寮� /// </summary> /// <param name="gridView1">gridview</param> /// <param name="picCheckBox">鍥炬爣鎸夐挳</param> @@ -1700,11 +1781,34 @@ /// <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.PopupMenuShowing += (s, e) => + { + if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column) + { + GridViewColumnMenu menu = e.Menu as GridViewColumnMenu; + if (menu != null) + { + string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" }; + for (int i = menu.Items.Count - 1; i >= 0; i--) + { + string _caption = menu.Items[i].Caption; + if (!ary.Contains(_caption)) + { + menu.Items.Remove(menu.Items[i]); + } + } + } + } + }; + gridView1.OptionsView.ShowGroupPanel = false; + gridView1.OptionsCustomization.AllowGroup = false; + // gridView1.Appearance.HeaderPanel.ForeColor = DevExpress.LookAndFeel.DXSkinColors.ForeColors.ControlText; gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀 foreach (GridColumn column in gridView1.Columns) { + column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; column.OptionsColumn.AllowEdit = true; - column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains; + // 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")) @@ -1785,7 +1889,7 @@ string _isRed = row["isRed"].ToString(); if (_isRed == "1") { - e.Appearance.BackColor = Color.LightPink; + e.Appearance.ForeColor = Color.Tomato; } } // 璁剧疆鐒︾偣琛岀殑鑳屾櫙鑹� @@ -1802,7 +1906,6 @@ //} } }; - } private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e) { @@ -1811,6 +1914,23 @@ edit.SelectAll(); } + public static void SetGridLayout(GridView gridView1) + { + foreach (GridColumn column in gridView1.Columns) + { + if (column.Width > 500) + column.Width = 500; + } + } + + /// <summary> + /// 璁剧疆閫夐」鍗� + /// </summary> + /// <param name="gridView1"></param> + /// <param name="xtraTabControl1"></param> + /// <param name="pageBar1"></param> + /// <param name="action"></param> + /// <param name="page"></param> public static void SetTabParameter(GridView gridView1, DevExpress.XtraTab.XtraTabControl xtraTabControl1, UcPageBar pageBar1, DelegateGetModel action = null, DelegateGetList page = null) { xtraTabControl1.SelectedPageChanged += (s, e) => @@ -1859,6 +1979,34 @@ /// <param name="icoName"></param> public static void SetGridViewParameterMx(GridView gridView1) { + gridView1.PopupMenuShowing += (s, e) => + { + if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column) + { + GridViewColumnMenu menu = e.Menu as GridViewColumnMenu; + if (menu != null) + { + string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" }; + for (int i = menu.Items.Count - 1; i >= 0; i--) + { + string _caption = menu.Items[i].Caption; + if (!ary.Contains(_caption)) + { + menu.Items.Remove(menu.Items[i]); + } + } + } + } + }; + gridView1.OptionsView.ShowGroupPanel = false; + gridView1.OptionsCustomization.AllowGroup = false; + + // gridView1.OptionsView.Alignment = DataGridViewContentAlignment.MiddleLeft; + foreach (GridColumn column in gridView1.Columns) + { + // column.DefaultCellStyle.Alignment = true; + column.AppearanceCell.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; + } gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀 gridView1.OptionsFilter.AllowFilterEditor = false; gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False; @@ -1908,6 +2056,74 @@ return regex.IsMatch(str); } + public static void getGridViewConfig(string namespaceFullName, List<DevExpress.XtraGrid.Views.Grid.GridView> gvList) + { + // gridView1.ShowCustomization(); + // gridView1.OptionsMenu.EnableColumnMenu = false; + JArray array = new JArray(); + var _obj = new + { + formPath = namespaceFullName, + }; + try + { + string strJson = UtilityHelper.HttpPost("", "Fm/GetModel", JsonConvert.SerializeObject(_obj)); + ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson); + if (_rtn.rtnCode > 0) + { + JObject _job = JObject.Parse(strJson); + foreach (var a in _job["rtnData"]["list"]) + { + array.Add(a); + } + } + else + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg); + } + catch (Exception ex) + { + ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message); + } + foreach (GridView gridView1 in gvList) + { + gridView1.PopupMenuShowing += (s, e) => + { + if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column) + { + GridViewColumnMenu menu = e.Menu as GridViewColumnMenu; + if (menu != null) + { + string[] ary = { "Column Chooser", "Hide This Column", "Clear All Sorting", "Clear Sorting", "Sort Descending", "Sort Ascending", "Best Fit (all columns)" }; + for (int i = menu.Items.Count - 1; i >= 0; i--) + { + string _caption = menu.Items[i].Caption; + if (!ary.Contains(_caption)) + { + menu.Items.Remove(menu.Items[i]); + } + } + } + } + }; + gridView1.OptionsView.ShowGroupPanel = false; + gridView1.OptionsCustomization.AllowGroup = false; + if (string.IsNullOrEmpty(namespaceFullName)) return; + foreach (GridColumn column in gridView1.Columns) + { + JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == column.Name.ToString().Trim().ToUpper()); + if (john != null) + { + string controlIdx = john["controlIdx"].ToString(); + string controlVisible = john["controlVisible"].ToString(); + if (!string.IsNullOrEmpty(controlIdx)) + column.VisibleIndex = int.Parse(controlIdx); + if (!string.IsNullOrEmpty(controlVisible)) + column.Visible = bool.Parse(controlVisible); + } + } + + } + } } /// <summary> @@ -1919,10 +2135,11 @@ { } - public CboItemEntity(string val, string text) + public CboItemEntity(string val, string text, string fType = "") { Text = text; Value = val; + FType = fType; } /// <summary> @@ -1934,6 +2151,8 @@ /// 瀵硅薄鍊� /// </summary> public object Value { get; set; } = ""; + + public object FType { get; set; } = ""; public override string ToString() { @@ -1955,13 +2174,14 @@ /// <param name="operDec">鎿嶄綔绗﹀娉�</param> /// <param name="val"></param> public FilterEntity(string id, string idDec, string oper, - string operDec, string val) + string operDec, string val, string type) { fileId = id; fileIdDec = idDec; fileOper = oper; fileOperDec = operDec; fileValue = val; + fileType = type; } public string fileId { get; set; } @@ -1973,5 +2193,7 @@ public string fileOperDec { get; set; } public string fileValue { get; set; } + + public string fileType { get; set; } } } \ No newline at end of file -- Gitblit v1.9.3