修改单选项和多选项值

已完成

要在表中设置选项列值,最简单的方法是使用编辑窗体。 向窗体中添加选项列时,系统会设置一个字段,以完成以下任务:

  • 设置为下拉菜单(对于单选项)或组合框(多个选项)。 (当您添加编辑窗体时,Power Apps 将使用组合框设置两者。)

  • 使用 Choices() 函数填充用户可选择的值列表(同样,此操作会在使用编辑窗体时自动完成)。

  • 从行的列值中设置控件的当前值。

  • 使用控件(例如按钮)上的 SubmitForm 函数,以将值保存到表中。

部分“编辑”窗体的屏幕截图。单选项列的标签为“客户类型”,其中显示选中了“家庭”。多选项列的标签为“联系人首选项”,其中显示了“电子邮件”、“信件”和“电话联络”。

将列添加到窗体后,默认可编辑。 如果要在窗体中显示选项列,但将其设置为不可编辑,需将控件类型窗体字段改为视图选项

展开“控件类型”的屏幕截图,其中显示了“视图选项集多选”和“编辑选项集多选选项”。

使用补丁进行创建或更新

还可使用 Patch() 函数创建或修改选项列。 本方法适用于您仅更新少数几个字段,并且这些字段无需或只需少量用户输入的情况。 例如,库项中会有一个按钮,选择后,该按钮会使用 OnSelect 行为来运行 Patch() 函数以更新行。

以下示例显示,已在库项上设置了一个按钮来将帐户设置为首选客户。 选择该按钮,其目标是将行的类别选项字段设置为首选客户。 为了完成本任务,我们已经在库项中添加设为 VIP 按钮。

包含客户名称、首选交货日期和类别信息的库的屏幕截图,其中突出显示了“设为 VIP”按钮。

设为 VIP 按钮的 OnSelect 属性包含 Patch() 公式,如以下所示:

Patch(Accounts, ThisItem, {Category: Category.'Preferred Customer'})

如果表列使用选项集,当您使用 Patch 时,需要使用选项集名称作为值的前缀,否则您会收到“OptionSetValue”错误。 您可以通过以下方式了解选项集名称是什么:转到 Dataverse 中的表,在编辑模式下选择该列,然后查找将此选项与以下对象同步字段。 该列的正下方即为选项集名称。

显示“编辑”列窗格的屏幕截图,其中突出显示了“将此选项与以下对象同步”和“类别”字段。

在这种情况下,类似表中按钮上的 Patch() 将类似于:

Patch(Accounts, ThisItem, {'Customer Type': Category.Preferred})