Фильтрация TClientDataSet по полю NestedDataSet

У меня есть небольшое приложение, над которым я работаю, оно почти закончено благодаря тем, кто мне здесь помогал. Однако у меня есть одна последняя задача. Мне нужно иметь возможность фильтровать TClientDataSet в поле NestedDataSet.

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

Как можно создать фильтр (или другое средство) для достижения этой цели? Есть ли сторонние компоненты, которые будут это делать?

Спасибо,

Счет


person Community    schedule 21.01.2009    source источник


Ответы (1)


Попробуйте добавить обработчик OnFilterRecord в основной набор данных и используйте команду «Найти» для вложенного набора данных внутри обработчика, чтобы проверить, существует ли запись.

person Jozz    schedule 21.01.2009