0

我正在构建一个具有单选按钮列表的powerapp,如果选择了单选按钮列表的任何项目,则下拉菜单将相应地填充,否则它应该显示默认值,例如选择产品。我想使用 if 条件作为下拉控件的 Items 属性,例如

Items = if(IsBlank(Radio.Selected.Value),DropDown.Selected.Value = "选择产品", Filter(ProductDemands, ProductValue = Radio.Selected.Value))


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

我无法达到同样的效果。我收到相同的语法错误和警告。

4

1 回答 1

0

有几种方法可以解决这个问题。一种是在单选按钮中没有选择时禁用下拉菜单 - 这样用户就会知道他们必须对其进行处理。您可以通过将DisplayMode下拉控件中的属性设置为:

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

另一种选择是将几个控件、下拉菜单和一个标签(带有“请选择一个值”的消息)放在一起。然后,您可以根据单选按钮中是否有选择来切换控件的可见性。

另一种选择是定义一个表,其架构与您要在下拉列表中显示的只有一个值的集合相同(使用“选择产品”之类的内容,并在 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))
于 2017-09-20T15:41:39.053 回答