0

TClientDataset.CloneCursor を使用して、同じデータの異なるビューを実装しています。マスター データセットといくつかのクローンがあり、それぞれにマスター データセットのフィールドの異なるサブセットが含まれています。しかし、クローンからデータを表示しようとすると、それらは空になります。マスター データセットにはデータが正しく入力され、クローン データセットの CloneSource プロパティは正しいデータセットを指していますが、2 つのグリッドを並べて配置すると、1 つはマスターを表示し、もう 1 つはクローン ビューにリンクされています。ビュー 1 は空白になります。

何がこれを引き起こす可能性がありますか?

4

1 に答える 1

2

OK、コードがないので、いくつか書きます。これはあなたが話していることのように聞こえますが、私のマシンでは動作します。だから今、あなたは自分が違うことをしていることを教えてください。TClientDataSetTDataSourceTDBGridをそれぞれ 2 つ配置します。それらを結び付けて、正しい名前を付けます。

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;
于 2008-12-20T08:47:40.490 に答える