Power Apps 中的 组合框 控件

用户可以在其中提供的选项之间进行选择的控件。 支持搜索和多重选择。

描述

使用 组合框 控件,可以搜索要选择的项。 由于在服务器端对 SearchField 属性执行搜索,因此性能不受大数据源影响。

单选或多重选择模式是通过 SelectMultiple 属性进行配置。

搜索要选择的项时,可以对所有项修改“数据”窗格中的“布局”设置,选择是显示一个数据值、两个数据值,还是一张图片和两个值(“人员”模板)。

在小屏幕上查看时,项目列表弹出项目将会变为一个全屏控件以提供更好的可用性。

备注

如果要搜索带有数字的项,请使用 Text() 函数将数字转换为文本。 例如,Text(12345)

限制

组合框控件具有以下限制:

  • 如果在库中使用组合框控件,当用户滚动库时,不保留其选择。 如果在不滚动的库中使用组合框控件,则不会出现此问题。 当前未提供解决方法。

人员选取器

若要将 组合框 用作人员选取器,请从“数据”窗格的“布局”设置中选择人员模板,并配置要显示的如下人员相关数据属性。

关键属性

Items – 提供待选选项的数据源。

DefaultSelectedItems – 用户与控件交互前的初始选定项。

备注

Default 属性已弃用,请改为使用 DefaultSelectedItems

SelectedItems – 用户交互后的选定项列表。

SelectMultiple – 用户是能选择一个项,还是能选择多个项。

IsSearchable – 用户能否在选择前先搜索项。

备注

IsSearchable 仅可以在包含至少一个文本字段的数据源上启用。 对于要使用搜索委派的查询,Items表达式必须可委派。 即,不支持Items表达式中的 If 语句。

SearchFields – 用户输入文本时,所搜索的数据源的数据字段。

备注

要对多个字段进行搜索,请以此格式设置 SearchFields 属性:["MyFirstColumn", "MySecondColumn"]。 仅支持文本字段。

其他属性

AccessibleLabel – 屏幕阅读器标签。

BorderColor – 控件边框的颜色。

BorderStyle – 控件边框是 SolidDashedDotted 还是 None

BorderThickness – 控件边框的粗细。

DisplayFields – 针对搜索返回的每个项显示的字段列表。 通过“属性选项”选项卡中的“数据”窗格进行配置最为简单。

备注

若要更新给定模板中的多个显示字段,请以此格式设置 DisplayFields 属性:["MyFirstColumn", "MySecondColumn"]

DisplayMode – 此控件是允许用户输入 (Edit)、仅显示数据 (View),还是已禁用 (Disabled)。

FocusedBorderColor – 当聚焦到控件时,控件的边框颜色。

FocusedBorderThickness – 当聚焦到控件时,控件的边框粗细。

Height – 控件上边缘和下边缘之间的距离。

InputTextPlaceholder – 在未选中项目时向最终用户显示的说明文本。

OnChange – 当用户更改选择时要执行的操作。

OnNavigate – 当用户选择一个项目时要执行的操作。

OnSelect – 当用户点击或选择控件时要执行的操作。

TabIndex – 相对于其他控件的键盘导航顺序。

Visible – 控件显示还是隐藏。

Width – 控件左边缘和右边缘之间的距离。

X – 控件左边缘与其父容器(如果没有父容器,则为屏幕)左边缘之间的距离。

Y – 控件上边缘与其父容器(如果没有父容器,则为屏幕)上边缘之间的距离。

备注

弹出项目边框属性由 Border 属性控制。

示例

基本组合框

此示例中的步骤适用于任何提供表的数据源,但要完全遵循这些步骤,请将环境与具有示例数据的 Microsoft Dataverse 数据库配合使用。

  1. 选择插入 > Input > 组合框,并将其命名为“Combobox1”。

  2. 在屏幕右侧的属性窗格上,打开选择数据源列表(在Items旁边),然后添加或选择数据源,例如“帐户”表。

  3. 在同一窗格中,选择编辑(位于字段旁边)。

  4. Data窗格中,打开主要文本列表,然后选择将在 组合框 控件中显示的主要名称列。

  5. 按住 Alt 键,选择向下箭头打开 组合框 控件。

    该控件显示您在指定的数据源中指定的主要名称中的数据。

(可选)默认显示第一条记录

  1. DefaultSelectedItems 属性设置为此表达式,将 DataSource 替换为您的数据源名称:

    First(DataSource)
    

(可选)在标签中显示选定的帐户名称值

  1. 选择插入 > 文本标签,然后选择 Label

  2. Text 属性设置为该表达式,用下面的公式替换 Text

    If(CountRows(ComboBox1.SelectedItems)>0, Concat(ComboBox1.SelectedItems,'Account Name',", "), "NO SELECTED ITEM")
    

    备注

    If 语句将查看所选项目的存在方式,并在逗号分隔的标签中显示它们,为空时显示“无选定项”消息。

模拟简单下拉行为

通过将 IsSearchable 设置为 false,并将 SelectMultiple 设置为 false,您可以实现下拉菜单的相同功能。

  1. 选择插入 > Input,然后选择 组合框

  2. 在屏幕右侧的属性窗格上,打开选择数据源列表(在Items旁边),然后添加或选择数据源。

  3. 在同一窗格中,选择编辑(位于字段旁边)。

  4. Data窗格中,打开主文本列表,然后选择要在 组合框 控件中显示的列。

  5. IsSearchable 属性设置为 false。

  6. SelectMultiple 属性设置为 false。

  7. 按住 Alt 键,选择向下箭头打开 组合框 控件。

    控件将显示您在指定的数据源中指定的列中的数据。

    备注

    “查找项目”文本已经消失,您将只能选择一个项目。

辅助功能准则

颜色对比度

在以下项之间必须有足够的颜色对比度:

  • ChevronFillChevronBackground
  • ChevronHoverFillChevronHoverBackground
  • SelectionColorSelectionFill
  • SelectionFillFill
  • SelectionTagColorSelectionTagFill

这是除标准颜色对比度以外的要求。

屏幕阅读器支持

  • AccessibleLabel 必须存在。

    备注

    在触摸屏上,屏幕阅读器用户可以按顺序导航组合框中的内容。 组合框充当一个按钮,在选中时会显示或隐藏其内容。

键盘支持

  • TabIndex 必须为零或更大,以便键盘用户可以导航到它。

  • 焦点指示器必须清晰可见。 可以使用 FocusedBorderColorFocusedBorderThickness 来实现此目的。

    备注

    Tab 键可导航到组合框或离开组合框。 箭头键可导航组合框中的内容。 Esc 键在打开时会关闭下拉列表。

备注

您能告诉我们您的文档语言首选项吗? 进行简短调查。(请注意,此调查是英文版调查)

此调查大约需要七分钟。 不会收集个人数据(隐私声明)。