Définition de la propriété Filter

De RAD Studio
Aller à : navigation, rechercher

Remonter à Création de filtres


Pour créer un filtre en utilisant la propriété Filter, vous devez spécifier une chaîne contenant la condition de filtre comme valeur de cette propriété. Par exemple, l'instruction suivante crée un filtre qui a pour effet de tester le champ State d'un ensemble de données pour voir s'il contient une valeur correspondant à l'état de Californie :

Dataset1.Filter := 'State = ' + QuotedStr('CA');
Dataset1->Filter = "State = 'CA'";

Vous pouvez aussi fournir une valeur pour la propriété Filter à partir du texte saisi par l'utilisateur. Par exemple, l'instruction suivante assigne le texte d'une zone de texte à la propriété Filter :

Dataset1.Filter := Edit1.Text;
Dataset1->Filter = Edit1->Text;

Vous pouvez aussi créer une chaîne à partir de texte codé en dur et de données saisies par l'utilisateur dans un contrôle :

Dataset1.Filter := 'State = ' + QuotedStr(Edit1.Text);
Dataset1->Filter = AnsiString("State = '") + Edit1->Text + "'";

Les enregistrements vierges ne s'affichent que s'ils sont explicitement inclus dans le filtre :

Dataset1.Filter := 'State <> CA or State = BLANK';
Dataset1->Filter = "State <> 'CA' or State = BLANK";

Remarque : Après avoir spécifié une valeur pour la propriété Filter, pour appliquer le filtre à l'ensemble de données, définissez la propriété Filtered sur True.

Les opérateurs logiques et de comparaison suivants permettent de comparer les valeurs des champs à des littéraux et à des constantes :

Opérateurs logiques et de comparaison pouvant apparaître dans un filtre  :

Opérateur Signification

<

Inférieur à

>

Supérieur à

>=

Supérieur ou égal à

<=

Inférieur ou égal à

=

Egal à

<>

Différent

AND

Teste si deux instructions valent toutes deux True

NOT

Vérifie que l'instruction suivante ne vaut pas True

OR

Vérifie qu'au moins une des deux instructions vaut True

+

Ajoute des nombres, concatène des chaînes, ajoute des nombres à des valeurs date/heure (disponible seulement pour certains pilotes)

-

Soustrait un nombre d'un autre, une date d'une autre ou un nombre d'une date (disponible seulement pour certains pilotes)

*

Multiplie deux nombres (disponible seulement pour certains pilotes)

/

Divise deux nombres (disponible seulement pour certains pilotes)

*

Caractère générique pour des comparaisons partielles (FilterOptions doit inclure foPartialCompare)


En utilisant des combinaisons de ces opérateurs, il est possible de créer des filtres sophistiqués. Par exemple, l'instruction suivante vérifie que deux conditions de test sont remplies avant d'afficher un enregistrement :

(Custno > 1400) AND (Custno < 1500);

Remarque : Lorsque le filtrage est activé, les modifications apportées par l'utilisateur peuvent ensuite faire en sorte que l'enregistrement ne réponde plus aux conditions de filtre. La prochaine fois que l'enregistrement sera extrait de l'ensemble de données, il n'apparaîtra plus. Dans ce cas, le prochain enregistrement répondant à la condition de filtre devient l'enregistrement en cours.

Voir aussi

Exemples