Durch Datensätze einer gefilterten Datenmenge navigieren

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Teilmengen von Daten mithilfe von Filtern anzeigen und bearbeiten


Für die Navigation durch die Datensätze einer gefilterten Datenmenge stehen vier Methoden zur Verfügung: Die folgende Tabelle beschreibt diese Methoden:

Methoden zur Navigation in gefilterten Datenmengen :



Methode Beschreibung

FindFirst

Bewegt den Cursor zum ersten Datensatz, der den aktuellen Filterkriterien entspricht. Die Suche beginnt immer beim ersten Datensatz der ungefilterten Datenmenge.

FindLast

Bewegt den Cursor zum letzten Datensatz, der den aktuellen Filterkriterien entspricht.

FindNext

Wechselt vom aktuellen Datensatz der gefilterten Datenmenge zum nächsten Datensatz.

FindPrior

Wechselt vom aktuellen Datensatz der gefilterten Datenmenge zum vorherigen Datensatz.



Die folgende Anweisung positioniert den Cursor auf den ersten gefilterten Datensatz einer Datenmenge:



 DataSet1.FindFirst;



 DataSet1->FindFirst();



Wenn Sie die Eigenschaft Filter definiert oder eine Behandlungsroutine für das Ereignis DB.OnFilterRecord geschrieben haben, positionieren diese Methoden den Cursor immer auf den angegebenen Datensatz, ungeachtet dessen, ob für die Datenmenge die Filterung aktiviert ist. Werden diese Methoden bei deaktivierter Filterung aufgerufen, geschieht Folgendes:

  • Die Filterung wird temporär aktiviert.
  • Der Cursor wird auf einen Datensatz gesetzt, der die Bedingungen erfüllt (falls vorhanden).
  • Die Filterung wird deaktiviert.

Anmerkung:  Wenn die Filterung deaktiviert ist und Sie die Eigenschaft Filter nicht setzen oder keine OnFilterRecord-Ereignisbehandlungsroutine erstellen, führen diese Methoden dasselbe wie First, Last, Next und Prior aus.

Alle oben aufgeführten Methoden positionieren den Cursor auf einen übereinstimmenden Datensatz (falls einer gefunden wird), machen diesen zum aktuellen Datensatz und geben True zurück. Ist kein passender Datensatz vorhanden, bleibt die Position des Cursors unverändert, und der Rückgabewert lautet False. Der Status der Eigenschaft Found lässt sich zum zyklischen Prüfen dieser Aufrufe verwenden. Es wird nur eine Aktion eingeleitet, wenn für Found der Wert True zurückgegeben wird. Befindet sich z.B. der Cursor bereits auf dem letzten übereinstimmenden Datensatz der Datenmenge, liefert ein Aufruf der Methode FindNext den Wert False, und der aktuelle Datensatz ändert sich nicht.

Siehe auch