在编辑表单时,如何允许用户向下拉列表添加值?

时间:2019-05-31 11:59:21

标签: powerapps

我正在创建一个供最终用户编辑的表单。在这种形式下,我希望单击时会有这样的下拉列表:

________________V Add new item Item 1 Item 2 Item 3

如果用户要选择“添加新项目”,则有一种方法可以允许他们将项目添加到下拉菜单中,该项目不仅可以用于当前表单,而且可以保存在那里以供在未来的形式?这样以后,在添加新项目后,下拉列表将如下所示:

________________V Add new item Item 1 Item 2 Item 3 Item 4

我尝试将自定义卡片添加到表单并将该卡片中的下拉列表链接到集合。我打算在选择“添加项目”时使文本输入和收集按钮变为可见,但这是不允许的,因为它“预期表值”。我可以向该实体添加一个查找字段以在集合中查找值吗?

1 个答案:

答案 0 :(得分:2)

如果将下拉列表的可能值保存在数据源中(例如,在SharePoint列表,SQL表,CDS实体等中),则可以使用该数据源填充本地集合,并使用该本地集合作为下拉列表的来源。在此集合中,除了要显示的元素外,还有两个额外的值:一个空值(方案中的第一个元素)和“添加新项”。例如,如果带有选项的数据源有两列,Id(GUID类型)和Text(文本类型),则可以按以下方式初始化集合:

ClearCollect(myDropdownItems, { Id: Blank(), Text: "" });
Set(IdForAddNewItem, GUID("11111111-1111-1111-1111-111111111111"));
Collect(myDropdownItems, { Id: IdForAddNewItem, Text: "Add new item" });
Collect(myDropdownItems, <the data source with the current options>)

现在,您可以设置下拉菜单的OnChange属性,以便如果所选值是“添加新项”,则将显示一个对话框/导航到另一个屏幕,用户可以在其中输入新选项。保存该选项后,您将使用更新的数据源重新创建集合。

您可以从this link看一下该应用程序。它显示了如何实现此目标,但是使用本地集合而不是连接的数据源。