From 56089c8f7e7a4a7e3f7f67b74bdab8599637bff0 Mon Sep 17 00:00:00 2001 From: lu <99954486@qq.com> Date: 星期三, 05 三月 2025 08:11:16 +0800 Subject: [PATCH] 委外版面 --- DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 259 ++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 231 insertions(+), 28 deletions(-) diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs index e59d30d..988623f 100644 --- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs +++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs @@ -4,11 +4,13 @@ using System.Data; using System.Drawing; using System.IO; +using System.Linq; using System.Net; using System.Net.Cache; using System.Net.Http; using System.Reflection; using System.Resources; +using System.Runtime.CompilerServices; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; @@ -17,6 +19,7 @@ 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; @@ -189,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; } @@ -454,7 +453,6 @@ txt.Enabled = !isEdt; continue; } - //鏃堕棿 if (colType is DateTimePicker) { @@ -644,6 +642,17 @@ 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; @@ -765,7 +774,6 @@ txt.ReadOnly = isEdt; continue; } - //鏃堕棿 if (ctrl is DateTimePicker) { @@ -783,11 +791,15 @@ if (ctrl is CheckEdit) { var txt = ctrl as CheckEdit; - txt.ReadOnly = isEdt; - txt.Checked = false; + if (_isRead(txt.Tag)) + { + txt.ReadOnly = true; + } + else + txt.ReadOnly = isEdt; continue; - } + } //鑷畾涔変粨搴� if (ctrl is UcLookCk) { @@ -904,6 +916,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; @@ -1159,6 +1179,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; @@ -1333,7 +1363,18 @@ 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 int ToInt(string str) { try @@ -1371,12 +1412,7 @@ return true; return false; } - public string GetIsNullOrEmpty(string str) - { - if (string.IsNullOrEmpty(str.Trim())) - return "{>"; - return str.Trim(); - } + /// <summary> /// 璇诲彇grid鐨勫綋鍓嶈 @@ -1568,7 +1604,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 = "宸插鏍�"; @@ -1579,13 +1615,50 @@ 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鍍忕礌 } } } } - + /// <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) { @@ -1657,9 +1730,33 @@ /// <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 = DevExpress.XtraGrid.Columns.AutoFilterCondition.Contains; @@ -1685,10 +1782,6 @@ gridView1.IndicatorWidth = 50; gridView1.CustomDrawRowIndicator += (s, e) => { - //if (e.RowHandle == GridControl.AutoFilterRowHandle) - //{ - // e.Info.DisplayText = "绛涢�夎"; - //} if (e.Info.IsRowIndicator && e.RowHandle >= 0) e.Info.DisplayText = (e.RowHandle + 1).ToString(); }; @@ -1731,8 +1824,10 @@ } gridView1.RowStyle += (s, e) => { - gridView1.OptionsSelection.EnableAppearanceFocusedRow = false;//榛樿閫変腑琛屼笉鍙樿壊 - gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;//榛樿閫変腑鍗曞厓鏍间笉鍙樿壊 + //榛樿閫変腑琛屼笉鍙樿壊 + gridView1.OptionsSelection.EnableAppearanceFocusedRow = false; + //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊 + gridView1.OptionsSelection.EnableAppearanceFocusedCell = false; if (e.RowHandle >= 0) { DataRow row = gridView1.GetDataRow(e.RowHandle); @@ -1744,9 +1839,21 @@ string _isRed = row["isRed"].ToString(); if (_isRed == "1") { - e.Appearance.BackColor = Color.LightPink; + 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; + //} } }; } @@ -1766,7 +1873,7 @@ int _handle = gridView1.FocusedRowHandle; bool _bl = xtraTabControl1.TabPages[0].PageEnabled; if (_bl == false) { return; }; - if (_handle < 0 ) + if (_handle < 0) { xtraTabControl1.SelectedTabPageIndex = -1; Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString() + "tag" + xtraTabControl1.SelectedTabPageIndex.ToString()); @@ -1790,7 +1897,7 @@ } if (xtraTabControl1.SelectedTabPageIndex == 0) { - // page(pageBar1.CurrentPage); + // page(pageBar1.CurrentPage); } }; } @@ -1805,6 +1912,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; @@ -1854,6 +1989,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> -- Gitblit v1.9.3