From f14d1fc28a8012035ee251fba71a0d048e9efd0d Mon Sep 17 00:00:00 2001
From: lu <99954486@qq.com>
Date: 星期四, 16 一月 2025 09:10:48 +0800
Subject: [PATCH] 工具条切换状态

---
 DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs |  223 +++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 166 insertions(+), 57 deletions(-)

diff --git a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
index e2a9375..e59d30d 100644
--- a/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
+++ b/DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -80,30 +80,30 @@
                 request.ContentType = "application/json";
                 request.Headers.Add("token", GetBasicAuthTicket());
                 request.Accept = "*/*";
-                request.Timeout = 15000;
+                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 +117,7 @@
                 requestStream = null;
                 response = null;
             }
-            wdf.SetCaption(_caption + "锛�90/100锛�");
+            // wdf.SetCaption(_caption + "锛�90/100锛�");
             wdf.Close();
             return responseStr;
         }
@@ -275,13 +275,20 @@
                     foreach (GridColumn colmn in gv.Columns)
                     {
                         colmn.OptionsColumn.AllowEdit = true;
+
+                        if (colmn.Name.ToString().Contains("gvBtnAlawys"))
+                        {
+                            colmn.Visible = true;
+                            colmn.OptionsColumn.ReadOnly = false;
+                        };
                         if (colmn.Name.ToString().Contains("gvMxDel") || colmn.Name.ToString().Contains("gvMxTui"))
                         {
                             colmn.Visible = !isEdt;
                         }
                         else
                         {
-                            if (isEdt == false) {
+                            if (isEdt == false)
+                            {
                                 if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
                                     colmn.OptionsColumn.ReadOnly = isEdt;
                                 else
@@ -323,7 +330,6 @@
                             txt.ReadOnly = isEdt;
                             continue;
                         }
-
                         if (colType is ImageComboBoxEdit)
                         {
                             var txt = colType as ImageComboBoxEdit;
@@ -338,7 +344,6 @@
                             }
                             continue;
                         }
-
                         if (colType is ComboBoxEdit)
                         {
                             var txt = colType as ComboBoxEdit;
@@ -353,14 +358,11 @@
 
                                     txt.Text = strVal;
                                 }
-                              
                             else
                                 txt.Text = strVal;
                             txt.ReadOnly = isEdt;
                             continue;
                         }
-                    
-
                         //鑷畾涔変笅鎷�
                         if (colType is UcComBox)
                         {
@@ -369,14 +371,18 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
-
                         //鏂囨湰
                         if (colType is TextEdit)
                         {
                             var txt = colType as TextEdit;
                             if (txt != null)
                                 txt.Text = strVal;
-                            txt.ReadOnly = isEdt;
+                            if (_isRead(txt.Tag))
+                            {
+                                txt.ReadOnly = true;
+                            }
+                            else
+                                txt.ReadOnly = isEdt;
                             continue;
                         }
                         if (colType is MemoEdit)
@@ -384,10 +390,14 @@
                             var txt = colType as MemoEdit;
                             if (txt != null)
                                 txt.Text = strVal;
-                            txt.ReadOnly = isEdt;
+                            if (_isRead(txt.Tag))
+                            {
+                                txt.ReadOnly = true;
+                            }
+                            else
+                                txt.ReadOnly = isEdt;
                             continue;
                         }
-
                         //鏁板瓧鍗�
                         if (colType is NumericUpDown)
                         {
@@ -397,7 +407,6 @@
                             txt.ReadOnly = isEdt;
                             continue;
                         }
-
                         //鍗曢��
                         if (colType is CheckEdit)
                         {
@@ -422,24 +431,30 @@
                             txt.ReadOnly = isEdt;
                             continue;
                         }
-
                         //鍗曢��
                         if (colType is CheckBox)
                         {
                             var txt = colType as CheckBox;
                             if (txt != null)
-                                txt.Checked = bool.Parse(strVal);
+                                switch (strVal)
+                                {
+                                    case "True":
+                                        txt.Checked = true;
+                                        break;
+                                    case "1":
+                                        txt.Checked = true;
+                                        break;
+                                    case "False":
+                                        txt.Checked = false;
+                                        break;
+                                    default:
+                                        txt.Checked = false;
+                                        break;
+                                }
                             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)
                         {
@@ -448,7 +463,6 @@
                             txt.Enabled = !isEdt;
                             continue;
                         }
-
                         //Label
                         if (colType is Label)
                         {
@@ -531,7 +545,6 @@
                                 txt.Enabled = false;
                             continue;
                         }
-
                         //鑷畾瀹㈡埛
                         if (colType is UcLookCustomer)
                         {
@@ -644,6 +657,18 @@
                     MessageBox.Show(ex.Message);
                 }
             }
+
+            foreach (Control ctrl in controls)
+            {
+                if (ctrl is TextEdit)
+                {
+                    var txt = ctrl as TextEdit;
+                    bool _bl = _isRead(txt.Tag, isEdt);
+                    txt.ReadOnly = _bl;
+                    // txt.ReadOnly = isEdt;
+                    continue;
+                }
+            }
         }
 
         /// <summary>
@@ -688,11 +713,20 @@
                 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;
                 }
-
                 //涓嬫媺
                 if (ctrl is ComboBoxEdit)
                 {
@@ -705,7 +739,6 @@
                     txt.ReadOnly = isEdt;
                     continue;
                 }
-
                 //鑷畾涔夌殑涓嬫媺
                 if (ctrl is UcComBox)
                 {
@@ -714,7 +747,6 @@
                     txt.Enabled = !isEdt;
                     continue;
                 }
-
                 //鏂囨湰
                 if (ctrl is TextEdit)
                 {
@@ -725,17 +757,15 @@
                     }
                     else
                         txt.Text = "";
-                    txt.ReadOnly = isEdt;
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        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)
                 {
@@ -748,11 +778,13 @@
                 {
                     var txt = ctrl as CheckBox;
                     txt.Enabled = !isEdt;
+                    txt.Checked = false;
                 }
                 if (ctrl is CheckEdit)
                 {
                     var txt = ctrl as CheckEdit;
                     txt.ReadOnly = isEdt;
+                    txt.Checked = false;
                     continue;
                 }
 
@@ -882,7 +914,6 @@
                     txt.Enabled = !isEdt;
                     continue;
                 }
-
             }
         }
 
@@ -909,7 +940,7 @@
                         }
                         else
                         {
-                            if (colmn.Tag!=null && colmn.Tag.ToString().EndsWith("edit"))
+                            if (colmn.Tag != null && colmn.Tag.ToString().EndsWith("edit"))
                                 colmn.OptionsColumn.ReadOnly = isEdt;
                             else
                                 colmn.OptionsColumn.ReadOnly = isEdt;
@@ -923,13 +954,23 @@
                 if (ctrl is TextEdit)
                 {
                     var txt = ctrl as TextEdit;
-                    txt.ReadOnly = isEdt;
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
                 if (ctrl is MemoEdit)
                 {
                     var txt = ctrl as MemoEdit;
-                    txt.ReadOnly = isEdt;
+                    if (_isRead(txt.Tag))
+                    {
+                        txt.ReadOnly = true;
+                    }
+                    else
+                        txt.ReadOnly = isEdt;
                     continue;
                 }
                 //鏁板瓧鍗�
@@ -1127,6 +1168,20 @@
             }
         }
 
+        private static bool _isRead(object obj, bool isEdt = false)
+        {
+            ///姘歌繙鏄彧璇荤殑
+            if (obj != null && obj.ToString().ToUpper() == ("readOnly".ToUpper()))
+            {
+                return true;
+            }
+            ///姘歌繙鏄彲鍐欑殑
+            if (obj != null && obj.ToString().ToUpper() == ("readOnly-1".ToUpper()))
+            {
+                return false;
+            }
+            return isEdt;
+        }
         /// <summary>
         ///     鍒囨崲閫夐」鍗�
         /// </summary>
@@ -1514,9 +1569,15 @@
                         btnChkIco.Text = checkStatus;
                         btnChkIco.Visible = true;
                         if (checkStatus == "1" || checkStatus.ToUpper() == true.ToString().ToUpper())
+                        {
                             btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_check;
+                            btnChkIco.Tag = "宸插鏍�";
+                        }
                         else
+                        {
                             btnChkIco.Image = global::Gs.DevApp.Properties.Resources.ico_noCheck;
+                            btnChkIco.Tag = "鏈鏍�";
+                        }
                         btnChkIco.Anchor = AnchorStyles.Top | AnchorStyles.Right; // 闈犲彸
                         btnChkIco.Location = new Point(fm.ClientSize.Width - btnChkIco.Width - 20, 80); // 璺濈椤堕儴10鍍忕礌
                     }
@@ -1534,9 +1595,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;
@@ -1593,9 +1660,10 @@
             gridView1.OptionsView.ColumnAutoWidth = false;//鑷姩璋冩暣鍒楀
             foreach (GridColumn column in gridView1.Columns)
             {
-                column.OptionsFilter.AutoFilterCondition = AutoFilterCondition.Contains;
-                column.OptionsFilter.ImmediateUpdateAutoFilter = false;
                 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
@@ -1604,15 +1672,23 @@
                     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) =>
             {
+                //if (e.RowHandle == GridControl.AutoFilterRowHandle)
+                //{
+                //    e.Info.DisplayText = "绛涢�夎";
+                //}
                 if (e.Info.IsRowIndicator && e.RowHandle >= 0)
                     e.Info.DisplayText = (e.RowHandle + 1).ToString();
             };
@@ -1653,7 +1729,26 @@
                         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.BackColor = Color.LightPink;
+                        }
+                    }
+                }
+            };
         }
         private static void ActiveEditor_MouseUp(object sender, MouseEventArgs e)
         {
@@ -1669,19 +1764,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);
                 }
             };
         }

--
Gitblit v1.9.3