From d37df25d14c9bf8ddaa4a0578dd8a84e2ffc7900 Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期二, 11 三月 2025 08:17:03 +0800
Subject: [PATCH] 采购到货

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  368 ++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 312 insertions(+), 56 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index 77cf2bd..9eea9e9 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,6 +18,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;
@@ -83,27 +85,27 @@
                 request.Timeout = 150000;
                 request.AllowAutoRedirect = false;
                 request.ServicePoint.Expect100Continue = false;
-                wdf.SetCaption(_caption + "锛�10/100锛�" + meth);
+                //  wdf.SetCaption(_caption + "锛�10/100锛�" + meth);
                 HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
                 request.CachePolicy = noCachePolicy;
-                wdf.SetCaption(_caption + "锛�20/100锛�" + meth);
+                //   wdf.SetCaption(_caption + "锛�20/100锛�" + meth);
                 requestStream = new StreamWriter(request.GetRequestStream());
                 requestStream.Write(param);
                 requestStream.Close();
-                wdf.SetCaption(_caption + "30/100锛�" + meth);
+                //   wdf.SetCaption(_caption + "30/100锛�" + meth);
                 response = request.GetResponse();
-                wdf.SetCaption(_caption + "锛�40/100锛�");
+                //  wdf.SetCaption(_caption + "锛�40/100锛�");
                 if (response != null)
                 {
-                    wdf.SetCaption(_caption + "锛�50/100锛�" + meth);
+                    //  wdf.SetCaption(_caption + "锛�50/100锛�" + meth);
                     var reader = new StreamReader(response.GetResponseStream(),
                         Encoding.UTF8);
                     responseStr = reader.ReadToEnd();
                     //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); 
                     reader.Close();
-                    wdf.SetCaption(_caption + "锛�60/100锛�" + meth);
+                    //  wdf.SetCaption(_caption + "锛�60/100锛�" + meth);
                 }
-                wdf.SetCaption(_caption + "锛�80/100锛�" + meth);
+                // wdf.SetCaption(_caption + "锛�80/100锛�" + meth);
             }
             catch (Exception ex)
             {
@@ -117,7 +119,7 @@
                 requestStream = null;
                 response = null;
             }
-            wdf.SetCaption(_caption + "锛�90/100锛�");
+            // wdf.SetCaption(_caption + "锛�90/100锛�");
             wdf.Close();
             return responseStr;
         }
@@ -189,11 +191,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,14 +452,6 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
-                        //if (colType is CheckEdit)
-                        //{
-                        //    var txt = colType as CheckEdit;
-                        //    if (txt != null)
-                        //        txt.Checked = bool.Parse(strVal);
-                        //    txt.ReadOnly = isEdt;
-                        //    continue;
-                        //}
                         //鏃堕棿
                         if (colType is DateTimePicker)
                         {
@@ -651,6 +641,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;
@@ -720,8 +721,18 @@
                 if (ctrl is MemoEdit)
                 {
                     var txt = ctrl as MemoEdit;
-                    txt.Text = "";
-                    txt.ReadOnly = isEdt;
+                    if (txt.Tag != null && txt.Tag.ToString().Length > 0 && txt.Tag.ToString().StartsWith("moren"))
+                    {
+                        txt.Text = txt.Tag.ToString().Replace("moren.", "");
+                    }
+                    else
+                        txt.Text = "";
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
                 //涓嬫媺
@@ -762,14 +773,6 @@
                         txt.ReadOnly = isEdt;
                     continue;
                 }
-                if (ctrl is MemoEdit)
-                {
-                    var txt = ctrl as MemoEdit;
-                    if (txt != null)
-                        txt.Text = "";
-                    txt.ReadOnly = isEdt;
-                    continue;
-                }
                 //鏃堕棿
                 if (ctrl is DateTimePicker)
                 {
@@ -787,11 +790,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)
                 {
@@ -912,6 +919,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;
@@ -920,7 +935,7 @@
                 }
             }
         }
-      
+
         /// <summary>
         ///     绂佺敤鎴栧惎鐢ㄥ鍣ㄩ噷闈㈢殑鎺т欢
         /// </summary>
@@ -969,7 +984,12 @@
                 if (ctrl is MemoEdit)
                 {
                     var txt = ctrl as MemoEdit;
-                    txt.ReadOnly = isEdt;
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
                 //鏁板瓧鍗�
@@ -1158,6 +1178,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;
@@ -1167,15 +1197,15 @@
             }
         }
 
-        private static bool _isRead(object obj,bool isEdt=false)
+        private static bool _isRead(object obj, bool isEdt = false)
         {
             ///姘歌繙鏄彧璇荤殑
-            if (obj != null && obj.ToString().ToUpper()==("readOnly".ToUpper()))
+            if (obj != null && obj.ToString().ToUpper() == ("readOnly".ToUpper()))
             {
                 return true;
             }
             ///姘歌繙鏄彲鍐欑殑
-            if (obj != null && obj.ToString().ToUpper()==("readOnly-1".ToUpper()))
+            if (obj != null && obj.ToString().ToUpper() == ("readOnly-1".ToUpper()))
             {
                 return false;
             }
@@ -1332,7 +1362,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
@@ -1370,12 +1416,7 @@
                 return true;
             return false;
         }
-        public string GetIsNullOrEmpty(string str)
-        {
-            if (string.IsNullOrEmpty(str.Trim()))
-                return "{>";
-            return str.Trim();
-        }
+
 
         /// <summary>
         /// 璇诲彇grid鐨勫綋鍓嶈
@@ -1559,7 +1600,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)
@@ -1567,7 +1608,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 = "宸插鏍�";
@@ -1578,13 +1619,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)
         {
@@ -1594,9 +1672,15 @@
         {
             return new FilterEntity(getQueryWord(id), idDec + ")", " like ", "鍖呭惈)", "%" + val + "%");
         }
-        public static List<FilterEntity> GetDilter(GridColumnCollection Columns)
+        public static List<FilterEntity> GetDilter(GridColumnCollection Columns, GridView gridView1 = null)
         {
             List<FilterEntity> fiList = new List<FilterEntity>();
+            if (gridView1 != null)
+            {
+                bool b = gridView1.ActiveFilterEnabled;
+                if (b == false)
+                    return fiList;
+            }
             foreach (DevExpress.XtraGrid.Columns.GridColumn col in Columns)
             {
                 ColumnFilterInfo filter = col.FilterInfo;
@@ -1650,12 +1734,37 @@
         /// <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.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
-                column.OptionsFilter.ImmediateUpdateAutoFilter = false;
+                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;
+                column.OptionsFilter.ImmediateUpdateAutoFilter = false;
                 if (column.Tag == null || column.Tag.ToString().EndsWith("edit"))
                     column.OptionsColumn.ReadOnly = false;
                 else
@@ -1664,12 +1773,16 @@
                     column.OptionsFilter.AllowAutoFilter = false;
             }
             gridView1.OptionsFilter.AllowAutoFilterConditionChange = DevExpress.Utils.DefaultBoolean.False;
+            gridView1.OptionsView.ShowAutoFilterRow = true;
             gridView1.OptionsFilter.AllowFilterEditor = false;
             gridView1.OptionsFilter.ShowCustomFunctions = DevExpress.Utils.DefaultBoolean.False;
+            gridView1.OptionsFilter.AllowColumnMRUFilterList = false;
+            gridView1.OptionsFilter.AllowMRUFilterList = false;
             gridView1.OptionsCustomization.AllowFilter = false;
             gridView1.OptionsFind.ShowSearchNavButtons = false;
-            gridView1.OptionsView.ShowAutoFilterRow = true;
             gridView1.OptionsView.ShowGroupPanel = false;
+            //鏄惁鏄剧ず搴曢儴鐨勮繃婊ゆ潯
+            // gridView1.OptionsView.ShowFilterPanelMode = DevExpress.XtraGrid.Views.Base.ShowFilterPanelMode.Never;
             gridView1.IndicatorWidth = 50;
             gridView1.CustomDrawRowIndicator += (s, e) =>
             {
@@ -1713,7 +1826,40 @@
                         view.ActiveEditor.MouseUp += ActiveEditor_MouseUp;
                 };
             }
-
+            gridView1.RowStyle += (s, e) =>
+            {
+                //榛樿閫変腑琛屼笉鍙樿壊
+                gridView1.OptionsSelection.EnableAppearanceFocusedRow = false;
+                //榛樿閫変腑鍗曞厓鏍间笉鍙樿壊
+                gridView1.OptionsSelection.EnableAppearanceFocusedCell = false;
+                if (e.RowHandle >= 0)
+                {
+                    DataRow row = gridView1.GetDataRow(e.RowHandle);
+                    if (row == null)
+                        return;
+                    bool columnExists = row.Table.Columns.Contains("isRed");
+                    if (columnExists == true)
+                    {
+                        string _isRed = row["isRed"].ToString();
+                        if (_isRed == "1")
+                        {
+                            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;
+                    //}
+                }
+            };
         }
         private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e)
         {
@@ -1729,19 +1875,33 @@
                 if (xtraTabControl1.SelectedTabPageIndex == 1)
                 {
                     int _handle = gridView1.FocusedRowHandle;
-                    if (_handle == -1)
+                    bool _bl = xtraTabControl1.TabPages[0].PageEnabled;
+                    if (_bl == false) { return; };
+                    if (_handle < 0)
+                    {
+                        xtraTabControl1.SelectedTabPageIndex = -1;
+                        Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString() + "tag" + xtraTabControl1.SelectedTabPageIndex.ToString());
                         return;
+                    }
                     DataRow row = gridView1.GetDataRow(_handle);
                     if (row == null)
+                    {
+                        xtraTabControl1.SelectedTabPageIndex = -1;
+                        Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString());
                         return;
+                    }
                     string _guid = row["guid"].ToString();
                     if (string.IsNullOrEmpty(_guid))
+                    {
+                        xtraTabControl1.SelectedTabPageIndex = -1;
+                        Gs.DevApp.ToolBox.MsgHelper.ShowInformation("璇烽�夋嫨浣犺鏄剧ず鐨勮锛�" + _handle.ToString());
                         return;
+                    }
                     action(_guid);
                 }
                 if (xtraTabControl1.SelectedTabPageIndex == 0)
                 {
-                    page(pageBar1.CurrentPage);
+                    //  page(pageBar1.CurrentPage);
                 }
             };
         }
@@ -1756,6 +1916,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;
@@ -1805,6 +1993,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