Zone de liste déroulante et recherche

  • Zone de liste déroulante et recherche

    Posté par Sylvain sur 23 novembre 2022 à 4h40

    Bonjour a tous,

    j’essaye de réaliser un système de filtre avec une zone de liste déroulante mais je ne suis pas sur que cela soit possible. Je m’explique.

    J’ai une galerie connectée à une liste SharePoint (LISTE1). Une de des colonnes (nommée MA_COLONNE pour l’exemple) de cette liste est de type “recherche” et va chercher les valeur dans une 2ème liste(LISTE2).

    Dans Powerapps, j’affiche dans ma galerie les informations de ma LISTE1 mais j’aimerai créer un système de filtre sur cette fameuse colonne qui est de type “recherche”

    J’ai donc créé une zone de liste déroulante (nommée ZDLD pour l’exemple) qui est alimentée par ma LISTE1 via un Choices() sur la colonne MA_COLONNE avec sélection multiple possible.

    Choices(LISTE1.MA_COLONNE)

    J’aimerai que ma galerie n’affiche que les éléments qui ont les valeur de MA_COLONNE correspondent aux choix fait au niveau de ma zone de liste déroulante.

    j’ai ça au niveau du Items de ma galerie:

    Filter(LISTE1;MA_COLONNE.Value=CMBOX.ZDLD.SelectedItems)

    Je suis conscient que ça ne peut pas marcher comme ça, mais je sèche…

    Merci d’avance.

    Sylvain

    PostID=sxIfUxemlVmGlYD

    Sylvain a répondu Il y a 12 mois 1 Membre · 6 Réponses
  • 6 Réponses
  • Delphine

    Membre
    23 novembre 2022 à 7h06

    Bonjour,

    Pour faire ça j’utilise une étiquette de texte non visible (LBL_FILTRE). Je configure mon étiquette de manière à ce qu’il prenne la valeur de ma combobox (ZDLD.selected.value par exemple).

    Pour le filtre, j’utilise la fonction “STARTWITH” avec la valeur de mon labeltext : Filter(LISTE1;STARTWITH(MA_COLONNE.Value;LBL_FILTRE.text))

    Attention, ça ne fonctionne pas pour les sélections multiples. Je sais pas si c’est LA manière de faire, mais ça fonctionne.

    Edit : je n’avais pas fait attention au critère sélection multiple…

    CommentID=AcDhB27WWoJhJmQ, PostID=sxIfUxemlVmGlYD

  • DavidZed

    Membre
    23 novembre 2022 à 16h32

    Hello,

    Tu peux parcourir les solutions que j’ai proposé ici pour un problème similaire 🙂

    CommentID=D3FFhfHk82PFjBB, PostID=sxIfUxemlVmGlYD

  • Sylvain

    Membre
    23 novembre 2022 à 21h22

    Merci à tout les 2. J’arrive au bout tout doucement et a première vu ça marche. J’ai maintenant dans le Items de ma galerie :

    Filter(n    LISTE1;n    CountRows(Filter(ZDLD.SelectedItems;Value in MA_COLONNE.Value))>0n)

    Le seul souci maintenant c’est que si je ne sélectionne rien dans ma ZDLD, il n’y a rien dans la galerie alors que tout devrait apparaitre puisque qu’aucun filtre n’est appliqué.

    CommentID=QHYWZ4suRvI98t6, PostID=sxIfUxemlVmGlYD

  • Delphine

    Membre
    24 novembre 2022 à 8h16

    Je sais pas si c’est applicable dans ton cas, mais comme expliqué dans mon premier message, j’étais passée par la fonction STARTSWITH pour contourner ce problème de galerie vide en l’absence de sélection. Peut-être qu’en utilisant cette fonction à la place de la fonction IN, ça marcherait.

    CommentID=aKoBOcUtcVVLGbV, PostID=sxIfUxemlVmGlYD

  • DavidZed

    Membre
    24 novembre 2022 à 18h03

    Sylvain ,

    Pour y parvenir, tu vas devoir préciser dans ton filtre :

    Filter( LISTE1; CountRows(Filter(ZDLD.SelectedItems;Value in MA_COLONNE.Value))>0 || IsEmpty(ZDLD.SelectedItems) || IsBlank(ZDLD.SelectedItems) )

    Ajouter ces tests logiques ‘OR’ permet d’ignorer les autres tests logiques, dont ton filtre de base.

    Il faut les deux IsBlank et IsEmpty, car selon qu’on déselectionne les items du combobox ou qu’on le reset, il ne retournera pas la même valeur (Vide / Nul)

    CommentID=Tib9HNQTHkDpLtV, PostID=sxIfUxemlVmGlYD

  • Sylvain

    Membre
    28 novembre 2022 à 20h28

    Super,

    merci beaucoup !

    CommentID=2wJ7RCCZBHCaCUg, PostID=sxIfUxemlVmGlYD

Connectez-vous pour répondre.