Browse Source

Fix to bug with loading "ExtraColumns" for IDynamicGridEditorColumn.

Kenric Nugteren 6 tháng trước cách đây
mục cha
commit
bdc175165a

+ 12 - 2
inabox.wpf/DynamicGrid/UIComponent/DynamicGridGridUIComponent.cs

@@ -1229,6 +1229,9 @@ public class DynamicGridGridUIComponent : IDynamicGridUIComponent, IDynamicGridG
     {
         return (this as IDynamicGridGridUIComponent).CreateEditorColumn(column, out newColumn);
     }
+    protected virtual void ConfigureColumn(DynamicGridColumn column, IDynamicGridEditorColumn newColumn)
+    {
+    }
 
     private void LoadDataColumn(DynamicGridColumn column)
     {
@@ -1287,6 +1290,8 @@ public class DynamicGridGridUIComponent : IDynamicGridUIComponent, IDynamicGridG
                 AddCellStyleConverters(cellstyle, column, newColumn.MappingName);
                 newColumn.CellStyle = cellstyle;
             }
+
+            ConfigureColumn(column, newcol);
             
             DataGrid.Columns.Add(newColumn);
             ColumnList.Add(column);
@@ -1867,8 +1872,6 @@ public class DynamicGridGridUIComponent<T> : DynamicGridGridUIComponent, IDynami
                 typed.GetEntity = () => _editingObject?.Object as T;
                 typed.EntityChanged += DoEntityChanged;
             }
-            foreach (var extra in newColumn.ExtraColumns)
-                Parent.AddHiddenColumn(extra);
             return true;
         }
         else
@@ -1877,6 +1880,13 @@ public class DynamicGridGridUIComponent<T> : DynamicGridGridUIComponent, IDynami
         }
     }
 
+    protected override void ConfigureColumn(DynamicGridColumn column, IDynamicGridEditorColumn newColumn)
+    {
+        base.ConfigureColumn(column, newColumn);
+        foreach (var extra in newColumn.ExtraColumns)
+            Parent.AddHiddenColumn(extra);
+    }
+
     #region Direct Edit
 
     protected override object? GetEditingObject(CoreRow row)