Filtre dans liste déroulante

  • Filtre dans liste déroulante

    Posté par Romane sur 29 janvier 2024 at 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 1 year, 4 months ago 2 Membres · 6 Réponses
  • 6 Réponses
  • Romane

    Member
    29 janvier 2024 at 16h48

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

  • Charles

    Member
    29 janvier 2024 at 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

    Member
    29 janvier 2024 at 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

    Member
    29 janvier 2024 at 17h08

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

  • Romane

    Member
    29 janvier 2024 at 17h10

    Elle possède d’autres colonnes

  • Charles

    Member
    29 janvier 2024 at 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.