Affichage conditionnel de 2 combobox

Étiquetté : , ,

  • Affichage conditionnel de 2 combobox

    Posté par Philippe CULOT sur 14 mars 2022 à 14h32

    Bonjour

    Dans mon application j’ai 2 combobox qui sont multiselect

    Combox1 : CTO,PEA,ASV

    Combox2: Assureur1,Assureur2,Assureur3

    Combox2 ne doit s’afficher que si dans le choix de combox1 on trouve parmi les 3 valeurs au moins la valeur ASV. Si je choisis CTO combox2 ne s’affiche pas, si je choisis CTO et ASV combobox2 s’affiche

    Comment dois je coder la propriété Visible de ma combox2?

    Merci d’avance

    PostID=CJBs2Kt0p4SMBH8

    Philippe CULOT a répondu Il y a 4 mois, 2 semaines 1 Membre · 7 Réponses
  • 7 Réponses
  • Séb

    Membre
    14 mars 2022 à 15h19

    Bonjour Philippe,

    J’ai rentré ça dans le Visible :

    If("ASV" in ComboBox1.SelectedItems;true)

    Et effectué le test qui va bien !!

    CommentID=KkuUAgou8H05utS, PostID=CJBs2Kt0p4SMBH8

  • Philippe CULOT

    Membre
    14 mars 2022 à 15h40

    Bonjour Sèb

    Merci pour ta réponse, mais la formule ne fonctionne pas chez moi

    ajout de la formule dans la propriété visible de ma combox ChbEnveloppeEtablissement, disparition de la combobox

    Self.DataField in locSelectedTab.Tabs And If("ASV" in chbEnveloppe.SelectedItems;true)

    CommentID=ihvSBpgtiROuwO1, PostID=CJBs2Kt0p4SMBH8

  • R3dKap

    Membre
    14 mars 2022 à 20h25

    @Philippe CULOT @S dès lors que l’on manipule la propriété SelectedItems il faut s’intéresser au format des données du Items de la combo box.

    @Philippe CULOT qu’as-tu dans le Items de ta combo box chbEnveloppe ?

    N’oubliez pas aussi que l’opérateur in doit prendre sur sa droite une table à une seule colonne pour que sa fonctionne

    Autre remarque : écrire If(<test booléen>; true) revient à écrire <test booléen>. Et donc If("ASV" in ...; true) s’écrit simplement "ASV" in ... 😉

    CommentID=sCCmurPwjzuSOlq, PostID=CJBs2Kt0p4SMBH8

    • Philippe CULOT

      Membre
      15 mars 2022 à 5h52

      Bonjour Emmanuel

      Dans le items de ChbEnveloppe j’ai la formule suivante:

      Choices([@FSO_Epargne_Financiere].Enveloppe)

      SubCommentID=6tPD2tlYJdmMhRq, CommentID=sCCmurPwjzuSOlq, PostID=CJBs2Kt0p4SMBH8

  • Philippe CULOT

    Membre
    15 mars 2022 à 6h52

    Merci @R3dKap et Merci @S

    la formule qui permet de faire fonctionner le test est

     Self.DataField in locSelectedTab.Tabs And "ASV" in chbEnveloppe.SelectedItems.Value

    CommentID=rbMVqpYuK6KFanj, PostID=CJBs2Kt0p4SMBH8

  • R3dKap

    Membre
    15 mars 2022 à 8h53

    Voilà, c’est précisément ce que j’allais te proposer de faire vu que tu as un Choices() dans le Items de ta combo.

    En effet la fonction Choices() génère un tableau à 2 colonnes (Id et Value) et comme je le disais l’opérateur in doit avoir une table à une seule colonne sur sa droite. Or, dans Power Apps, lorsque l’on écrit NomDeTable.NomDeColonne cela renvoie une table à une seule colonne, celle spécifiée.

    C’est pour cela qu’il fallait rajouter le .Value à chbEnveloppe.SelectedItems… 😉

    CommentID=sy2Dqj2KsncfCyu, PostID=CJBs2Kt0p4SMBH8

  • Philippe CULOT

    Membre
    15 mars 2022 à 8h56

    Merci Emmanuel pour cette précision, cette plateforme est vraiment une aide précieuse

    CommentID=4ThPvqqk8yfSXad, PostID=CJBs2Kt0p4SMBH8

Connectez-vous pour répondre.