Thema: Delphi Filterproblem mit TTable

Einzelnen Beitrag anzeigen

mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#31

Re: Filterproblem mit TTable

  Alt 22. Aug 2007, 11:48
Zitat:
eine Query kommt leider nicht in Frage
Warum? TTable macht(e) eigentlich nur bei der BDE Sinn, da hier ernormer Overhead erzeugt wird.

Zitat von Delphi-Hilfe:
TDataSet.OnFilterRecord Ereignis

Wird jedes Mal ausgelöst, wenn ein anderer Datensatz in der Datenmenge aktiviert und ein Filter verwendet wird.

Klasse
TDataSet

Syntax


[Delphi] property OnFilterRecord: TFilterRecordEvent;


Beschreibung
Mit Hilfe einer Ereignisbehandlungsroutine für OnFilterRecord können Sie für jeden Datensatz in der Datenmenge festlegen, ob er in der Anwendung sichtbar ist. Um anzugeben, dass ein Datensatz die Filterbedingung erfüllt, muss der Parameter Accept in der Ereignisbehandlungsroutine auf true gesetzt werden. Soll ein Datensatz ausgeschlossen werden, setzen Sie Accept auf false. Die meisten von TDataSet abgeleiteten Klassen (z. B. ADO- oder BDE-Datenmengen) initialisieren Accept mit true, bevor die Ereignisbehandlungsroutine für 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 Behandlungsroutine für OnFilterRecord implementieren, wird eine Exception ausgelöst.


Das Filtern ist aktiviert, wenn die Eigenschaft Filtered den Wert true hat. Beim Verarbeiten eines Filters wird die Eigenschaft State der Datenmenge in dsFilter geändert.

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 Ereignisbehandlungsroutine für OnFilterRecord können aber alle Kriterien implementiert werden.
Tipp:
Berücksichtigen Sie unbedingt die Interaktionen zwischen der Eigenschaft Filter und der Ereignisbehandlungsroutine für OnFilterRecord, wenn Sie beide zugleich in einer Anwendung verwenden, damit nicht unbeabsichtigt ein leere Filtermenge entsteht.


Verwandte Informationen
TDataSet.Filter
TDataSet.Filtered
TDataSet.FilterOptions
TDataSet.State
Filter erzeugen
Durch Datensätze einer gefilterten Datenmenge navigieren
Teilmengen von Daten mithilfe von Filtern anzeigen und bearbeiten
Eine Behandlungsroutine für das Ereignis OnFilterRecord schreiben


Borland® Copyright © 2005 Borland Software Corporation. Alle Rechte vorbehalten.
Markus Kinzler
  Mit Zitat antworten Zitat