浏览代码

Fixed ordering of DefaultColumns

Kenric Nugteren 7 月之前
父节点
当前提交
b478e758bf
共有 1 个文件被更改,包括 8 次插入2 次删除
  1. 8 2
      InABox.Core/Query/Column.cs

+ 8 - 2
InABox.Core/Query/Column.cs

@@ -348,7 +348,7 @@ namespace InABox.Core
                 columns.Add(new Column<T>(nameof(Entity.ID)));
                 columns.Add(new Column<T>(nameof(Entity.ID)));
 
 
             var visibleProps = flags.HasFlag(ColumnTypeFlags.IncludeVisible)
             var visibleProps = flags.HasFlag(ColumnTypeFlags.IncludeVisible)
-                ? DefaultColumns.GetDefaultColumns(typeof(T)).Select(x => x.Property).ToHashSet()
+                ? DefaultColumns.GetDefaultColumns(typeof(T)).Select(x => x.Property).WithIndex().ToDictionary(x => x.Value, x => x.Key)
                 : null;
                 : null;
             var hasVisibleProps = visibleProps != null && visibleProps.Count > 0;
             var hasVisibleProps = visibleProps != null && visibleProps.Count > 0;
 
 
@@ -402,7 +402,7 @@ namespace InABox.Core
                             var visible = hasNullEditor || prop.Editor?.Visible == Visible.Hidden
                             var visible = hasNullEditor || prop.Editor?.Visible == Visible.Hidden
                                 ? Visible.Hidden
                                 ? Visible.Hidden
                                 : hasVisibleProps
                                 : hasVisibleProps
-                                    ? (visibleProps!.Contains(prop) ? Visible.Default : Visible.Optional)
+                                    ? (visibleProps!.ContainsKey(prop) ? Visible.Default : Visible.Optional)
                                     : (prop.Editor?.Visible ?? Visible.Optional);
                                     : (prop.Editor?.Visible ?? Visible.Optional);
                             var editable = hasNullEditor ? Editable.Hidden : (prop.Editor?.Editable ?? Editable.Enabled);
                             var editable = hasNullEditor ? Editable.Hidden : (prop.Editor?.Editable ?? Editable.Enabled);
 
 
@@ -422,6 +422,12 @@ namespace InABox.Core
                     }
                     }
                 }
                 }
             }
             }
+
+            if (hasVisibleProps)
+            {
+                columns.SortBy(x => visibleProps?.GetValueOrDefault(x.PropertyDefinition) ?? (visibleProps!.Count + props.IndexOf(x.PropertyDefinition)));
+            }
+
             return this;
             return this;
         }
         }