Filtre dans liste déroulante

  • Filtre dans liste déroulante

    Posté par Romane sur 29 janvier 2024 à 14h57

    Bonjour,

    Considérons que j’ai 2 listes une issue de la vue 1 Article et l’autre issue de la vue 2 – Projet avec dans chacune un champs commun nommé REF_ARTICLE.

    Je peux venir sélectionné x élément dans ma liste déroulante Article et en fonction de ça je dois venir récupérer tous les Projets contenant les REF_ARTICLE présent dans le choix précédent.

    Lorsque je fais un filtre : FILTER(PROJET; REF_ARTICLE = cb_Article.Selected) ça fonctionne mais ça vient me récupérer le dernier élément sélectionné (donc ça ne correspond pas au besoin) et si je fais Filter(Projet; REF_ARTICLE in cb_Article.SelectedItems.REF_ARTICLE) ça ne me sort plus rien. Avez vous une solution sur ce genre de sujet ?

    Merci d’avance !

    Charles a répondu Il y a 11 mois, 3 semaines 2 Membres · 6 Réponses
  • 6 Réponses
  • Romane

    Membre
    29 janvier 2024 à 16h48

    Et en utilisant concat, ça ne fonctionne pas non plus

  • Charles

    Membre
    29 janvier 2024 à 16h55

    C’est une liste déroulante ou une zone de liste que tu as?

    En selection multiple je dirai une zone de liste. Peut-être qu’avec ForAll ça fonctionnerait?

    ForAll(cb_Article.SelectedItems;FILTER(PROJET; REF_ARTICLE = Value)

    Sinon tu peux faire une collection à partir de la propriété onchange de ta liste 1 et utiliser ta collection comme items de ta liste 2

  • Romane

    Membre
    29 janvier 2024 à 17h04

    Oui c’est bien une zone de liste.

    J’ai aussi essayé la collection sur le OnChange et ça n’a pas fonctionné, aucune donnée ne ressort

  • Charles

    Membre
    29 janvier 2024 à 17h08

    Est-ce que la liste 1 a qu’une seule colonne Value ou elle possède d’autres colonnes?

  • Romane

    Membre
    29 janvier 2024 à 17h10

    Elle possède d’autres colonnes

  • Charles

    Membre
    29 janvier 2024 à 17h15

    OK dans ce cas il faut dans OnChange de la liste 1 mettre:

    Clear(col_Projets);;

    ForAll(cb_Article.SelectedItems;Collect(col_Projets;FILTER(PROJET; REF_ARTICLE = NomDeLaColonneDeRefArticle)))

    Ensuite dans le Items de la liste 2 mettre col_liste2 et selectionner la colonne à faire apparaitre dans la liste 2 parmi celles de la col_Projets

Connectez-vous pour répondre.