From ca2aef7370cbfa419e3a0f0ea7467fa2c85f6c43 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期一, 17 三月 2025 08:08:59 +0800
Subject: [PATCH] 打印

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  193 ++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 147 insertions(+), 46 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 708a1cd..60e3a1c 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,13 @@
                         if (colType is CheckEdit)
                         {
                             var txt = colType as CheckEdit;
-                            if (txt != null)
+                            if (_isRead(txt.Tag))
+                            {
+                                txt.ReadOnly = true;
+                            }
+                            else
+                                txt.ReadOnly = isEdt;
+                            if (txt != null) {
                                 switch (strVal)
                                 {
                                     case "True":
@@ -426,8 +431,8 @@
                                         txt.Checked = false;
                                         break;
                                 }
-
-                            txt.ReadOnly = isEdt;
+                            }
+                              
                             continue;
                         }
                         //鍗曢��
@@ -453,6 +458,7 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
+
                         //鏃堕棿
                         if (colType is DateTimePicker)
                         {
@@ -642,7 +648,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 +797,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 +925,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 +1184,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 +1379,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 +1606,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 +1625,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鍍忕礌
                     }
                 }
             }
@@ -1703,6 +1740,28 @@
         /// <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)
@@ -1807,7 +1866,6 @@
                     //}
                 }
             };
-
         }
         private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e)
         {
@@ -1864,6 +1922,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 +2001,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