有几种方法可以解决这个问题。一种是在单选按钮中没有选择时禁用下拉菜单 - 这样用户就会知道他们必须对其进行处理。您可以通过将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))