Data.DB.TDataSet.OnFilterRecord

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property OnFilterRecord: TFilterRecordEvent read FOnFilterRecord write SetOnFilterRecord;

C++

__property TFilterRecordEvent OnFilterRecord = {read=FOnFilterRecord, write=SetOnFilterRecord};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
event public
Data.DB.pas
Data.DB.hpp
Data.DB TDataSet


Beschreibung

Wird nur ausgelöst, wenn ein Datensatz von einer DB abgerufen wird oder die Eigenschaft Filtered auf True gesetzt wird.

Mit einer Ereignisbehandlungsroutine für OnFilterRecord können Sie für jeden Datensatz in der Datenmenge festlegen, ob er für die Anwendung sichtbar ist. Um anzugeben, dass ein Datensatz die Filterbedingung erfüllt, muss der Parameter Accept in der Ereignisbehandlungsroutine OnFilterRecord auf true gesetzt werden. Soll ein Datensatz ausgeschlossen werden, setzen Sie Accept auf false. Die meisten von TDataSet abgeleiteten Klassen (z. B. ADO-Datenmengen) initialisieren Accept mit true, bevor die Ereignisbehandlungsroutine OnFilterRecord aufgerufen wird.

Warnung: Die Definition einer OnFilterRecord-Ereignisbehandlungsroutine für unidirektionale Datenmengen ist nicht zulässig, da diese keine Filter unterstützen. Wenn Sie trotzdem eine OnFilterRecord-Ereignisbehandlungsroutine implementieren, wird eine Exception ausgelöst.

Das Filtern ist aktiviert, wenn die Eigenschaft Filtered true ist. Beim Verarbeiten eines Filters erhält die Eigenschaft State der Datenmenge den Wert dsFilter.

Verwenden Sie eine OnFilterRecord-Ereignisbehandlungsroutine für Kriterien, die nicht durch die Eigenschaft Filter implementiert werden können. Wenn Sie beispielsweise die Eigenschaft Filter verwenden, sind keine Feldvergleiche bei lokalen Tabellen (Paradox, dBASE, Access, FoxPro) möglich. Mit einer OnFilterRecord-Ereignisbehandlungsroutine können aber alle Kriterien implementiert werden.

Tipp: Berücksichtigen Sie unbedingt die Interaktionen zwischen der Eigenschaft Filter und der Ereignisbehandlungsroutine OnFilterRecord, wenn Sie beide zugleich in einer Anwendung verwenden, damit nicht unbeabsichtigt ein leere Filtermenge entsteht.

OnFilterRecord ist eine Ereignisbehandlungsroutine mit dem Typ Data.DB.TFilterRecordEvent.

Siehe auch