Browse Source

Fixed some defaultColumns stuff

Kenric Nugteren 5 months ago
parent
commit
3e8d78f981

+ 6 - 0
InABox.Core/User/User.cs

@@ -136,6 +136,12 @@ namespace InABox.Core
         [NullEditor]
         public int Logins { get; set; }
 
+        static User()
+        {
+            DefaultColumns.Add<User>(x => x.UserID, width: 0, caption: "User ID");
+            DefaultColumns.Add<User>(x => x.Password, width: 0, caption: "Password");
+        }
+
         public override string ToString()
         {
             return UserID;

+ 23 - 0
inabox.wpf/DynamicGrid/DynamicGridColumn/DynamicGridColumns.cs

@@ -91,6 +91,18 @@ public class DynamicGridColumns : List<DynamicGridColumn>, IGlobalConfigurationS
         Add(col);
         return col;
     }
+
+    public DynamicGridColumns AddFluent<TType>(
+        Expression<Func<TType, object?>> member,
+        int? width = null,
+        string? caption = null,
+        string? format = null,
+        Alignment? alignment = null
+    )
+    {
+        Add(member, width: width, caption: caption, format: format, alignment: alignment);
+        return this;
+    }
 }
 
 public class DynamicGridColumns<T> : DynamicGridColumns
@@ -111,6 +123,17 @@ public class DynamicGridColumns<T> : DynamicGridColumns
         Add(col);
         return col;
     }
+    public DynamicGridColumns<T> AddFluent(
+        Expression<Func<T, object?>> member,
+        int? width = null,
+        string? caption = null,
+        string? format = null,
+        Alignment? alignment = null
+    )
+    {
+        Add(member, width: width, caption: caption, format: format, alignment: alignment);
+        return this;
+    }
 }
 
 public class DynamicGridColumnGroup(string header, DynamicColumnBase start, DynamicColumnBase end, object? tag = null)

+ 2 - 4
inabox.wpf/DynamicGrid/Grids/DynamicExportMappingGrid.cs

@@ -64,10 +64,8 @@ public class DynamicExportMappingGrid : DynamicGrid<ImportMapping>
 
     protected override DynamicGridColumns LoadColumns()
     {
-        return new DynamicGridColumns
-        {
-            new() { ColumnName = "Property", Width = 0 }
-        };
+        return new DynamicGridColumns()
+            .AddFluent<ImportMapping>(x => x.Property, width: 0);
     }
 
     public void ClearAll()