浏览代码

Shell columns now includes RequiredColumns

Kenric Nugteren 3 天之前
父节点
当前提交
e91b4af744
共有 2 个文件被更改,包括 10 次插入2 次删除
  1. 9 1
      InABox.Avalonia/DataModels/ShellColumns.cs
  2. 1 1
      InABox.Core/Query/Column.cs

+ 9 - 1
InABox.Avalonia/DataModels/ShellColumns.cs

@@ -56,7 +56,15 @@ namespace InABox.Avalonia
             return null;
         }
 
-        public Columns<TEntity> Columns => new Columns<TEntity>(ColumnTypeFlags.None).Add(_columns.Select(x => x.Value.ColumnName));
+        public Columns<TEntity> Columns
+        {
+            get
+            {
+                var columns = new Columns<TEntity>(ColumnTypeFlags.None).Add(_columns.Values.Select(x => x.ColumnName));
+                columns.Add(new Columns<TEntity>(ColumnTypeFlags.Required)); // Have to be added after the other columns to preserve column indexing.
+                return columns;
+            }
+        }
         
         public int Count => _columns.Count;
 

+ 1 - 1
InABox.Core/Query/Column.cs

@@ -366,7 +366,7 @@ namespace InABox.Core
                 {
                     columns.Add(new Column<T>(prop));
                 }
-                else
+                else if(flags != ColumnTypeFlags.Required) // If there is another flag other than Required
                 {
                     var isLocal = !prop.HasParentEntityLink()
                         || (prop.Parent?.HasParentEntityLink() != true && prop.Name.EndsWith(".ID"));