Choices 函数

适用于: 画布应用 模型驱动应用

返回查找列可能值的表。

Description

Choices 函数返回查找列可能值的表。

使用 Choices 函数提供选项列表让用户选择。 此函数通常与 Combo box 控件一起用在编辑窗体中。

对于查找,Choices 返回的表与和查找相关联的外部表匹配。 使用 Choices,就无需将外部表添加为另一个数据源。 Choices 返回外部表的所有列。

由于 Choices 会返回表,因此可使用 FilterSortAddColumns 以及其他所有表操作函数对表进行筛选、排序和定型。

目前,不能委派 Choices。 如果此限制在您的应用中造成问题,请将外部表添加为数据源,并直接使用它。

与 ShowColumnsSearch 和其他表函数不同 ,Choices不需要列名为字符串并括在双引号中。 就像直接引用列一样提供公式。

列引用必须直接连接到数据源。 例如,如果数据源是客户而查找是 SLA,则列引用是 Accounts.SLA。 引用不能通过函数、变量或控件传递。 深化此示例,如果客户馈送给 Gallery 控件,则使用公式 Gallery.Selected.SLA 引用所选帐户的 SLA。 但是,此引用通过了一个控件,因此它不能传递给 Columns 函数,即仍必须使用 Accounts.SLA

目前,只能将查找列与 SharePoint 和 Microsoft Dataverse 一起使用。

语法

选择列引用 [, 文本过滤器 ])

  • column-reference - 必需。 数据源的查找列。 请勿将列名括在双引号中。 引用必须直接指向数据源的列,而不能通过函数或控件传递。
  • text-filter - 可选。 通过仅返回以 text-filter 中指定的文本开头的选择项来筛选选择项列表。 如果指定了空字符串,将返回所有选择项。

示例

查找的选择

  1. 在中创建 数据库 Dataverse,然后选择 Include sample apps and data 框。

    将会创建多个表,如客户

    :表名称在 make.powerapps.com 上为单数,在 in Power Apps Studio 中为复数。

    来自 Dataverse for Apps 中客户表的字段的部分列表,突出显示了“主要联系人”是查找字段

    客户表具有主要联系人列,这是对联系人表的查找。

    Dataverse 中联系人表中的字段的部分列表。

    对于每个客户,不是指定了联系人作为主要联系人,就是主要联系人为空白

  2. Accounts 表生成应用程序

  3. 在左边缘附近的屏幕和控件列表中,向下滚动到显示出 EditScreen1,并选择其下方的 EditForm1

    在左侧导航栏中,选择 EditScreen1 上的 EditForm1。

  4. 在右侧窗格的属性选项卡上,选择编辑字段

    打开“数据”窗格。

  5. 字段窗格中,选择添加字段

  6. 搜索主要联系人字段,选中其复选框,然后选择添加

    选择“客户”以打开“数据”窗格。

    主要联系人字段显示在窗体底部。 如果该字段显示错误,请在视图选项卡上选择数据源,选择客户数据源对应的省略号 (...),然后选择刷新

  7. (可选)将主要联系人字段从字段列表底部拖动到顶部。

  8. 主要联系人的卡片中,选择 Combo box 控件。

    该控件的 Items 属性将设置为一个公式,该公式通过其显示名称(第一个示例)或逻辑名称(第二个示例)来标识列:

    • choices(accounts.'主要联系人')

    • 选择(Accounts.primarycontactid)

      包含 Form 控件的画布屏幕。选择了“主要联系人”卡片中的 Combo box 控件,显示了包含公式 Choices( Accounts.'Primary Contact' ) 的 Items 属性。

  9. 出于说明目的,我们可以在 Data table 控件中查看 Choices 函数返回的完整表。 在主页选项卡上,依次选择新屏幕空白

  10. 插入选项卡上,选择数据表

  11. Data table 控件的 Items 属性设置为以下公式:

    choices(accounts.'主要联系人')

  12. Data table 控件的中间,选择开始选择字段...的链接,然后选中要显示的一个或多个字段的复选框(例如,名字姓氏)。

    包含 Data table 控件的画布屏幕。Items 属性设置为公式 Choices( Accounts.'Primary Contact' ),表显示联系人表中第一组记录的 firstname 和 lastname 列。