浏览代码

Libraries: add key support to TDataTable

Herman Schoenfeld 7 年之前
父节点
当前提交
0d5dc0d36f
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      src/libraries/sphere10/UCommon.Data.pas

+ 5 - 1
src/libraries/sphere10/UCommon.Data.pas

@@ -122,6 +122,7 @@ type
   public
     Columns: TTableColumns;
     Rows : TArray<Variant>;
+    Keys : TArray<Variant>;
   end;
 
 
@@ -552,9 +553,12 @@ begin
      if pageEnd >= pageStart then begin
        j := 0;
        SetLength(ADataTable.Rows, pageEnd - pageStart + 1);
+       SetLength(ADataTable.Keys, pageEnd - pageStart + 1);
        for i := pageStart to pageEnd do begin
          ADataTable.Rows[j] := TTableRow.New(@FColumns);
-         DehydrateItem( data[i], ADataTable.Rows[j]);
+         entity := data[i];
+         DehydrateItem( entity, ADataTable.Rows[j]);
+         ADataTable.Keys[j] := GetEntityKey(entity);
          inc(j)
        end;
      end;