Navigation parmi les enregistrements d'un ensemble de données filtré

De RAD Studio
Aller à : navigation, rechercher

Remonter à Affichage et édition d'ensembles de données en utilisant des filtres

Quatre méthodes permettent de naviguer parmi les enregistrements d'un ensemble de données filtré. Le tableau suivant dresse la liste de ces méthodes et décrit leur utilisation :

Méthodes navigationnelles relatives aux ensembles de données filtrés :

Méthode Utilisation

FindFirst

Se positionne sur le premier enregistrement correspondant au critère de filtre en cours. Cette recherche commence toujours par le premier enregistrement de l'ensemble de données non filtré.

FindLast

Se positionne sur le dernier enregistrement correspondant au critère de filtre en cours.

FindNext

Se déplace de l'enregistrement en cours dans l'ensemble de données filtré sur le prochain enregistrement.

FindPrior

Se déplace de l'enregistrement en cours dans l'ensemble de données filtré sur l'enregistrement précédent.

Par exemple, l'instruction suivante trouve le premier enregistrement filtré dans un ensemble de données :

DataSet1.FindFirst;
DataSet1->FindFirst();

Dans la mesure où la propriété Filter a été définie ou que vous avez créé un gestionnaire d'événement DB.OnFilterRecord pour votre application, ces méthodes positionnent le curseur sur l'enregistrement spécifié, que le filtre soit ou non activé. Si ces méthodes sont appelées lorsque le filtrage n'est pas activé, elles provoquent les effets suivants :

  • Le filtrage est temporairement activé.
  • En cas de correspondance, le curseur est positionné sur un enregistrement.
  • Le filtrage est désactivé.

Remarque :  Si le filtrage est désactivé, si la propriété Filter n'a pas été définie et si aucun gestionnaire d'événement OnFilterRecord n'a été créé, ces méthodes ont le même effet que First, Last, Next et Prior.

Toutes les méthodes navigationnelles relatives aux filtres positionnent le curseur sur un enregistrement (si un enregistrement correspond au filtre spécifié), le traitent comme l'enregistrement en cours et True. Si aucun enregistrement ne correspond au filtre, la position du curseur reste inchangée, et les méthodes renvoient False. Vous pouvez vérifier l'état de la propriété Found pour envelopper ces appels et n'agir que lorsque Found vaut True. Par exemple, si le curseur est déjà positionné sur le dernier enregistrement correspondant de l'ensemble de données lorsque vous appelez FindNext, la méthode renvoie False, et l'enregistrement en cours reste le même.

Voir aussi