lu
2025-02-19 e9a56abf54b3f8b311f4ea360649c4564974349f
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -19,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;
@@ -1921,48 +1922,68 @@
        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);
                    }
                }
            }
        }