3

ここで私を支援してくれた人々のおかげで、私が取り組んでいる小さなアプリケーションがほぼ完成しています。ただし、最後のタスクが 1 つあります。NestedDataSet フィールドで TClientDataSet をフィルタリングできる必要があります。

ClientDataset1
Field0: Name (Lake Name)
ClientDataset2
Field0: Species (Fish Species)

type
  TDataModule1 = class( TDataModule )
    ClientDataSet1: TClientDataSet;
    ClientDataSet2: TClientDataSet;
    ClientDataSet1Name: TStringField;
    ClientDataSet1County: TStringField;
    ClientDataSet1Town: TStringField;
    ClientDataSet1Area: TStringField;
    ClientDataSet1MaximumDepth: TStringField;
    ClientDataSet1MeanDepth: TStringField;
    ClientDataSet1MapFilename: TStringField;
    ClientDataSet1Species: TDataSetField;
    ClientDataSet2Species: TStringField;
    procedure DataModuleDestroy( Sender: TObject );
  private
    { Private declarations }
  public
    { Public declarations }
  end;

Data:
Nate Pond
    Brook trout
    Creek chub
    Golden shiner
Black Pond
    Brook trout
    Brown bullhead
    Common shiner
Lake Placid
    Lake trout
    Smallmouth bass
    Yellow perch

ClientDataset1 をフィルター処理して、ClientDataset Species フィールドにカワマスが含まれるすべての湖を表示する必要があります。

Filtered:
Nate Pond
    Brook trout
    Creek chub
    Golden shiner
Black Pond
    Brook trout
    Brown bullhead
    Common shiner

これを実現するためのフィルター (またはその他の手段) をどのように作成できますか? これを行うサードパーティのコンポーネントはありますか?

ありがとう、

明細書

4

1 に答える 1

2

OnFilterRecord ハンドラーをマスター データセットに追加してみて、ハンドラー内のネストされたデータセットで Locate を使用して、レコードが存在するかどうかを確認します。

于 2009-01-21T20:43:04.383 に答える