Filtre avec “OU” Et “ET des” Conditions sur Plusieurs Champs
Je veux mettre en œuvre les ci-dessous où condition. Comment puis-je créer le filtre dans UI5?
field-A NE 'O' and ( field-B contains 'search-text' or field-C contains 'search-text' )
Le backend scénario:
- Appliquer le filtre
field-A NE 'O'
lors de la liaison de la liste. - Appliquer le filtre
( field-B contains 'search-text' or field-C contains 'search-text' )
pour mettre en œuvre la fonction de recherche sur le champ de recherche.
Occurrences de filtre:
new sap.ui.model.Filter("field-A", sap.ui.model.FilterOperator.NE, "O");
new sap.ui.model.Filter("field-B", sap.ui.model.FilterOperator.contains, search-text);
new sap.ui.model.Filter("field-C", sap.ui.model.FilterOperator.contains, search-text);
Vous devez vous connecter pour publier un commentaire.
Voici un exemple minimal de combiner plusieurs filtres à l'aide de OData de Comptoirs: https://embed.plnkr.co/AoIZI4/. La liste complète peut être trouvée ici.
Lors de l'instanciation d'un filtre, au lieu de
path
,operator
, etvalue1
, utiliser les propriétésfilters
etand
de combiner plusieurs filtres comme indiqué dans le Référence de l'API.Dans notre cas, nous définissons trois filtres:
field-A NE 'O'
qui est également utilisé sur la liaison dans le Plunker exemple ci-dessus (Filtre 1)and: false
sensOR
(Filtre 2).Filtre 1:
Filtre 2:
Enfin, lorsque l'utilisateur saisit une requête de recherche, nous combinons ces deux filtres avec
and: true
appliquer sur le ODataListBinding.Qui devrait se traduire par:
Utilisez la syntaxe suivante pour de multiples filtre OU la condition: (changer la valeur false à true pour ET)