From 7a79a925742bac1c873f76c0a86443859771bee5 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期五, 21 三月 2025 22:53:56 +0800
Subject: [PATCH] 过滤
---
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs | 212 +++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 166 insertions(+), 46 deletions(-)
diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 708a1cd..c610dde 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -14,11 +14,11 @@
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
-using DevExpress.Utils.DirectXPaint;
using DevExpress.XtraEditors;
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;
@@ -26,7 +26,6 @@
using Gs.DevApp.UserControl;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
-using OracleInternal.Sharding;
using UserControls.Data;
using static System.Windows.Forms.Control;
@@ -410,7 +409,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":
@@ -426,8 +432,8 @@
txt.Checked = false;
break;
}
+ }
- txt.ReadOnly = isEdt;
continue;
}
//鍗曢��
@@ -453,6 +459,7 @@
txt.Enabled = !isEdt;
continue;
}
+
//鏃堕棿
if (colType is DateTimePicker)
{
@@ -642,7 +649,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;
@@ -781,13 +798,12 @@
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;
}
//鑷畾涔変粨搴�
@@ -910,7 +926,14 @@
txt.Enabled = !isEdt;
continue;
}
-
+ //鑷畾閿�鍞�
+ if (ctrl is UcLookSales)
+ {
+ var txt = ctrl as UcLookSales;
+ txt.SetIdOrCode("-1");
+ txt.Enabled = !isEdt;
+ continue;
+ }
if (ctrl is SimpleButton)
{
var txt = ctrl as SimpleButton;
@@ -1162,6 +1185,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;
@@ -1347,6 +1380,11 @@
return 0;
}
+ }
+ public static decimal? GetDecimal(string s)
+ {
+ if (string.IsNullOrEmpty(s)) return null;
+ return decimal.Parse(s);
}
public static int ToInt(string str)
{
@@ -1569,7 +1607,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)
@@ -1588,7 +1626,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鍍忕礌
}
}
}
@@ -1693,7 +1731,7 @@
public delegate void DelegateGetModel(string guid);
public delegate void DelegateGetList(int currentPage);
/// <summary>
- ///
+ /// 璁剧疆涓昏〃鐨勬牱寮�
/// </summary>
/// <param name="gridView1">gridview</param>
/// <param name="picCheckBox">鍥炬爣鎸夐挳</param>
@@ -1703,13 +1741,35 @@
/// <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"))
@@ -1718,6 +1778,7 @@
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;
@@ -1807,7 +1868,6 @@
//}
}
};
-
}
private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e)
{
@@ -1816,6 +1876,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) =>
@@ -1864,6 +1941,28 @@
/// <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)
{
@@ -1921,49 +2020,70 @@
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.OptionsView.ShowGroupPanel = false;
- // gridView1.OptionsMenu.EnableColumnMenu = false;
- gridView1.OptionsCustomization.AllowGroup = false;
- if (string.IsNullOrEmpty(namespaceFullName)) return;
- var _obj = new
+ gridView1.PopupMenuShowing += (s, e) =>
{
- formPath = namespaceFullName,
- };
- try
- {
- string strJson = UtilityHelper.HttpPost("", "Fm/GetModel", JsonConvert.SerializeObject(_obj));
- ReturnModel<dynamic> _rtn = ToolBox.UtilityHelper.ReturnToDynamic(strJson);
- if (_rtn.rtnCode > 0)
+ if (e.MenuType == DevExpress.XtraGrid.Views.Grid.GridMenuType.Column)
{
- JObject _job = JObject.Parse(strJson);
- JArray array = new JArray();
- foreach (var a in _job["rtnData"]["list"])
+ GridViewColumnMenu menu = e.Menu as GridViewColumnMenu;
+ if (menu != null)
{
- array.Add(a);
- }
- foreach (GridColumn column in gridView1.Columns)
- {
- JToken john = array.FirstOrDefault(t => t["controlId"].ToString().ToUpper() == column.Name.ToString().Trim().ToUpper());
- if (john != 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 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);
+ string _caption = menu.Items[i].Caption;
+ if (!ary.Contains(_caption))
+ {
+ menu.Items.Remove(menu.Items[i]);
+ }
}
}
}
- else
- ToolBox.MsgHelper.Warning("鎻愮ず锛�" + _rtn.rtnMsg);
- }
- catch (Exception ex)
+ };
+ gridView1.OptionsView.ShowGroupPanel = false;
+ gridView1.OptionsCustomization.AllowGroup = false;
+ if (string.IsNullOrEmpty(namespaceFullName)) return;
+ foreach (GridColumn column in gridView1.Columns)
{
- ToolBox.MsgHelper.Warning("鎻愮ず锛�" + ex.Message);
+ 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);
+ }
}
+
}
}
}
--
Gitblit v1.9.3