2017-09-19 3 views
0

Je construis un powerapp où j'ai une liste de radiobutton, si un élément de la radiobuttonlist est sélectionné, alors la liste déroulante va peupler en conséquence sinon il devrait montrer un valeur par défaut, telle que Sélectionner un produit. Je veux utiliser si condition pour Items Property of dropdowncontrol this e.g.Comment utiliser si la condition dans powerapp pour peupler dropdown qui dépend de la sélection d'un contrôle

articles = si (ESTVIDE (Radio.Selected.Value), DropDown.Selected.Value = "Sélectionner un produit", filtre (ProductDemands, ProductValue = Radio.Selected.Value))


où ProductDemands est le nom de l'entité ProducValue est le nom de la colonne

Je n'arrive pas à atteindre le même résultat. Je reçois des erreurs de syntaxe et des avertissements pour la même chose.

Répondre

0

Il y a plusieurs façons de résoudre ce problème. L'un consiste à désactiver la liste déroulante chaque fois qu'il n'y a pas de sélection dans les boutons radio - de cette façon, l'utilisateur saura qu'il doit faire quelque chose avec. Vous pouvez le faire en définissant la propriété DisplayMode dans votre commande menu déroulant à ceci:

If(IsBlank(Radio1.Selected.Value), DisplayMode.Disabled, DisplayMode.Edit) 

Une autre option est d'avoir un ou deux contrôles, le menu déroulant et une étiquette (avec un message « S'il vous plaît sélectionner une valeur ») positionnée l'un sur l'autre. Ensuite, vous pouvez basculer la visibilité des contrôles selon qu'il y a une sélection dans les boutons radio ou non. Encore une autre option consiste à définir une table avec le même schéma que la collection que vous voulez afficher dans la liste déroulante qui n'a qu'une valeur (avec quelque chose comme "Sélectionner un produit", et utiliser une condition If dans la propriété Items pour . choisir entre cette collection et votre un filtre une façon de le faire est d'initialiser cette collection lorsque l'écran est chargé (dans la propriété OnVisible):

ClearCollect(defaultDemands, Defaults(Demands)); 
Clear(defaultDemands); 
Patch(defaultDemands, Defaults(Demands), {Name:"Select Product"}) 

la première partie de l'expression crée une collection avec un " "vide" de la demande (copiant ainsi le schéma dans la nouvelle collection), la seconde l'efface et la troisième ajoute un nouvel élément où le nom est ce que vous voulez afficher. pdown vous pouvez choisir entre les deux collections en fonction de l'état de la sélection de la radio:

If(
    IsBlank(Radio1.Selected.Value), 
    defaultDemands, 
    Filter(ProductDemands, ProductValue = Radio1.Selected.Value))