将完整的 DBGrid(结构和数据)复制到 KbmMemTable

Copy a full DBGrid(structure and Data) to KbmMemTable

我想将创建的 TXDBGrid 具有此网格中现有数据的完整结构(列)复制到 kbmMemTable

所有 TDBGrid 后代和相似组件都是数据集的 "visualization",由 TDataset 后代组件表示(TTableTQuery、 ...)。 TDBGrid 这是一种表示数据的方式。

您不能在 TDBGridkbmMemTable 中构建结构,是的,与该网格关联的 TDataset

组件kbmMemTable有这个方法:

procedure LoadFromDataSet(Source:TDataSet;
   CopyOptions:TkbmMemTableCopyTableOptions); 
   {$IFDEF BCB}dynamic{$ELSE}virtual{$ENDIF};

源参数是与您的网格关联的TDataset,第二个参数包括复制源TDataset结构的选项(mtcpoStructure)。

TkbmMemTableCopyTableOption = 
  mtcpoStructure,mtcpoOnlyActiveFields,mtcpoProperties,
  mtcpoLookup,mtcpoCalculated,mtcpoAppend,mtcpoFieldIndex,
  mtcpoDontDisableIndexes,mtcpoIgnoreErrors
  {$IFDEF LEVEL6},mtcpoStringAsWideString,mtcpoWideStringUTF8{$ENDIF});

像这样尝试一些:

  kbmMemTable1.LoadFromDataSet(XDBGrid1.Datasource.DataSet, [mtcpoStructure]);