为什么我的克隆数据集是空白的?

时间:2008-12-20 02:02:04

标签: delphi clone client-dataset

我正在使用TClientDataset.CloneCursor来实现相同数据的不同视图。我有一个主数据集和几个克隆,每个克隆都包含主数据集字段的不同子集。但是当我尝试显示来自克隆的数据时,它们会变空。主数据集正确填充数据,克隆数据集的CloneSource属性指向正确的数据集,但如果我并排放置两个网格,一个显示主数据库,另一个链接到克隆视图,克隆查看一个将是空白的。

知道是什么原因引起的吗?

1 个答案:

答案 0 :(得分:2)

好的,既然你没有任何代码,我会为你写一些。这听起来就像你在谈论的那样,它可以在我的机器上运行。所以现在你告诉我你在做什么不同。将 TClientDataSet TDataSource TDBGrid 分别放下两个。将它们连接起来并正确命名:

var
  idField: TFieldDef;
  stringField: TFieldDef;
begin
  idField := ds1.FieldDefs.AddFieldDef;
  idField.DataType := ftInteger;
  idField.Name := 'id';

  stringField := ds1.FieldDefs.AddFieldDef;
  stringField.DataType := ftString;
  stringField.Size := 10;
  stringField.Name := 'name';

  ds1.CreateDataSet;
  ds1.InsertRecord([1, 'Jim McKeeth']);
  ds1.InsertRecord([2, 'Mason Wheeler']);
  ds1.InsertRecord([3, 'Jeff Atwood']);

  ds2.CloneCursor(ds1, true);
  ds2.Filter := 'id=1';
  ds2.Filtered := True;
end;