首页 文章

如何使用powerapp中的条件来填充下拉列表,这取决于控件的选择

提问于
浏览
0

我正在 Build 一个powerapp,我有一个radiobutton列表,如果选择了radiobuttonlist的任何项目,那么下拉列表将相应地填充,否则它应该显示默认值,例如选择产品 . 我想使用对于dropdowncontrol的Items属性的条件,例如

Items = if(IsBlank(Radio.Selected.Value),DropDown.Selected.Value =“Select Product”,Filter(ProductDemands,ProductValue = Radio.Selected.Value))


其中ProductDemands是实体的名称ProducValue是列名

我无法实现同样的目标 . 我收到语法错误和警告 .

1 回答

  • 0

    有几种方法可以解决这个问题 . 一种是在单选按钮中没有选择时禁用下拉列表 - 这样用户就会知道他们必须对它做一些事情 . 您可以通过将下拉控件中的 DisplayMode 属性设置为:

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

    另一种选择是让一对控件,下拉列表和一个标签(带有“请选择一个值”的消息)放在彼此的顶部 . 然后,您可以根据单选按钮中是否有选择来切换控件的可见性 .

    还有一个选项是定义一个表,该表具有与要在下拉列表中显示的集合相同的模式,该集合只有1个值(类似于“选择产品”),并使用Items属性中的If条件在该集合之间进行选择一个方法是在加载屏幕时初始化这样的集合(在OnVisible属性中):

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

    表达式的第一部分创建一个带有“空”版本需求的集合(从而将模式复制到新集合) . 第二个清除它,第三个添加一个新项目,其中名称是您想要显示的名称 . 然后在下拉列表的Items属性中,您可以根据无线电选择的状态在两个集合中进行选择:

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

相关问题