Défini AllowFiltering="true" (allowFiltering dans React ) et la barre d’outils de la grille reçoit un bouton Filtre , qui ouvre les propres filtres de la vue dans le constructeur de requêtes FetchXML pour que l’utilisateur puisse les modifier. Tout ce que FetchXML peut filtrer peut être construit : des conditions sur les colonnes de la table, regroupées avec ET et OU, comparées à une valeur ou à une autre colonne, et tables associées — qu’un enregistrement lié existe, ou qu’une condition correspondante soit elle-même. Seules les colonnes et tables associées que l’utilisateur peut lire sont proposées, et le serveur refuse un filtre sur tout autre sujet. Les filtres de l’utilisateur durent pendant que la grille affiche la vue : une autre vue commence à partir de la sienne.
Appuyez sur le bouton Filtrer dans la barre d’outils. La boîte de dialogue s’ouvre sur les filtres de la vue affichée par la grille. Tous les contacts n’en ont pas — la sécurité des lignes de la table des contacts conserve déjà toutes les requêtes vers les contacts que vous pouvez lire — elle s’ouvre donc vide, prête pour la vôtre. Les contacts dans les entreprises avec une ville conservent ceux dont l’entreprise a une ville, via une table associée avec une condition propre. Changez-les, appuyez sur Appliquer, et la grille affiche les lignes correspondantes à la première page, son bouton Filtre rempli pour indiquer que les filtres sont les vôtres. Choses à essayer :
Contacts des propriétaires actifs conserve les contacts dont le compte utilisateur du propriétaire est activé, via une table associée — utilisateurs système — à laquelle la démo n’accorde aucun accès à ses visiteurs. Plutôt que d’afficher tous les contacts (le filtre étant exclu) ou aucun (la table associée ne correspond pas à aucune ligne), la grille indique sur quelle table elle ne peut pas filtrer, afin que le développeur puisse y donner accès aux utilisateurs ou modifier la vue. Ouvrez la boîte de dialogue Filtrer et emmenez le propriétaire voir les lignes : la boîte de dialogue affiche la table associée à la vue, mais n’offre aucun utilisateur système à ajouter. Un utilisateur interne connecté à la démo, dont les propres rôles de sécurité Dataverse décident ce qu’il lit, voit les lignes.