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

时间:2016-02-16 14:23:40

标签: delphi delphi-xe3

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

1 个答案:

答案 0 :(得分:4)

所有TDBGrid后代和类似组件都是"可视化"一个数据集,由TDataset后代组件(TTableTQuery,...)表示。 TDBGrid它是表示数据的一种方式。

您无法在kbmMemTable TDBGrid中构建结构,而是从与该网格关联的TDataset构建结构。

组件kbmMemTable具有以下方法:

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

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

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

尝试这样的事情:

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