Filtre sur base de checkboxes
-
Filtre sur base de checkboxes
Bonjour à tous,
j’ai un petit souci avec un filtre que j’essaye de réaliser sur une liste.
J’ai une Liste SharePoint nommée maListe qui regroupe des tâches à réaliser et je l’affiche dans une galerie sous PowerApps.
Une des colonnes de cette liste, nommée statut, est de type choix et représente l’état de la tâche. J’ai le choix entre “Non visée”, “En cours”, “Réalisé”, “Refusé” ou “Archivé”.
J’ai créé un petit groupe de checkboxes à côté de ma galerie qui reprend les différents états de mes tâches afin de réaliser un filtre :
J’ai eu l’idée de créé une collection col_statut qui contient les valeurs cochées et se mettait à jour dès que l’on coche ou décoche une case. Sur chaque OnSelect des checkboxes j’ai mi ce code :
ClearCollect(n col_statut;n If(n chk_statutNV.Value=true;n {Title:"Non visé"}n );n If(n chk_statutEC.Value=true;n {Title:"En cours"}n );n If(n chk_statutRea.Value=true;n {Title:"Réalisé"}n );n If(n chk_statutRef.Value=true;n {Title:"Refusé"}n );n If(n chk_statutArc.Value=true;n {Title:"Archivé"}n )n)
Donc pour la configuration des checkboxes comme sur mon image, j’ai ma collection col_statut qui comprend 3 éléments :
Ensuite à partir de là, j’ai voulu utiliser le même principe que pour filtrer a partir de la sélection d’une zone de liste déroulante et dans la propriété Item de ma galerie, j’ai mi ça :
Filter(n maListe;n CountRows(n Filter(n col_statut;n Title in statut.Valuen )n )>0 n ||n IsEmpty(col_statut)n ||n IsBlank(col_statut)n)
Solution déjà donnée par David sur ce poste :
Je pensais que je pouvais considérer ma collection col_statut comme le SelectedItems d’une zone de liste déroulante… et ben non 😞
En gros, j’aurai voulu que seuls les éléments de maListe qui ont leur statut présent dans col_statut apparaissent dans la galerie. (mais je ne sais pas du tout s’il faut que je m’y prenne de cette manière, il y a peut-être d’autres solutions que de créer une collection de valeurs…
Donc voilà… merci d’avance.
Sylvain
PostID=4XwZLKb3C5TR05J
Connectez-vous pour répondre.