wyq 5 сар өмнө
parent
commit
958fa58b79

+ 23 - 4
DW5S.App/ExtensionsDev/GridControlEx.cs

@@ -51,7 +51,7 @@ public static class GridControlEx
         var view = grid.MainView as GridView;
         grid.Load += (sender, e) =>
         {
-            view.Columns["Id"].VisibleIndex = 0;
+            grid.SetColumnVisibleIndex("Id", 0);
             grid.HideColumn("UpdateTime", "CreateTime");
             grid.HideColumn(p => p.ColumnType == typeof(List<>));
             grid.HideColumn(p => p.ColumnType == typeof(ICollection<>));
@@ -349,7 +349,7 @@ public static class GridControlEx
                 var view = grid.MainView as GridView;
                 if (grid.DataSource is List<T> ds)
                 {
-                    var idx=ds.IndexOf(data);
+                    var idx = ds.IndexOf(data);
                     ds.Remove(data);
                     ds.Insert(idx, newRow);
                 }
@@ -584,7 +584,7 @@ public static class GridControlEx
                 }
                 catch (Exception ex)
                 {
-                    throw new Exception($"文件下载失败,url={url}",ex);
+                    throw new Exception($"文件下载失败,url={url}", ex);
                 }
             }
 
@@ -625,7 +625,7 @@ public static class GridControlEx
             view = grid.MainView as GridView;
         var edit = new RepositoryItemButtonEdit();
         edit.Buttons.Clear();
-        edit.Buttons.Add(new EditorButton(ButtonPredefines.Glyph) { Caption="Click"});
+        edit.Buttons.Add(new EditorButton(ButtonPredefines.Glyph) { Caption = "Click" });
         edit.AutoHeight = false;
         edit.TextEditStyle = TextEditStyles.HideTextEditor;
         view.Columns[columnFieldName].OptionsColumn.AllowEdit = true;
@@ -1015,6 +1015,25 @@ public static class GridControlEx
         return grid;
     }
     /// <summary>
+    /// 根据条件隐藏列(只会处理ColumnEdit==null的列)
+    /// </summary>
+    /// <param name="grid"></param>
+    /// <param name="condition"></param>
+    /// <returns></returns>
+    public static GridControl SetColumnVisibleIndex(this GridControl grid,string fieldName, int idx)
+    {
+        var view = grid.MainView as GridView;
+        foreach (GridColumn item in view.Columns)
+        {
+            if (item.FieldName.ToUpper() == fieldName.ToUpper())
+            {
+                item.VisibleIndex = idx;
+                break;
+            }
+        }
+        return grid;
+    }
+    /// <summary>
     /// GridControl添加单行元素选择后的右键菜单
     /// </summary>
     /// <typeparam name="T">GridControl绑定数据源的泛型类型</typeparam>