活动
最新
False
横幅背景图像
工作流活动
上次更新日期 2024年2月23日

下拉菜单的高级控件

本页上的教程在“ 创建表单任务” 活动中演示如何在UiPath 表单设计器中使用下拉列表。 用于实现教程中结果的最常用属性是 FormData(Collection)

创建动态下拉列表

在要发送动态数据以填充表单操作内的下拉控件的工作流中使用它们。

使用此方法,字符串列表类型的变量将保存下拉列表的值,而不是在 UiPath 表单设计器的“数据” 选项卡上添加静态值。

在以下示例中,我们创建一个国家/地区的动态下拉列表,使用国家/地区列表初始化一个变量,并创建一个附加变量以捕获用户选择的国家/地区。



要创建动态下拉列表,请执行以下操作:

  1. 在“ 创建表单任务” 活动中,单击“表单数据” 右侧的 省略号(...)。
  2. 为动态下拉列表添加参数,如下所示:

    • 名称: countryList_dropdown
    • 方向:
    • 类型: 字符串列表 (List<String>)
    • 值:按 Ctrl + K ,然后输入 listOfCountries 作为变量名称。
      listOfCountries 变量包含下拉列表中的项目。
      注意: 也支持字符串数组,但您必须在 表单设计器 中手动添加下拉组件,并添加 字段键值
  3. 如果要将用户选择返回到工作流,请添加另一个参数以捕获所选值:

    • 名称: country (下拉组件的字段键)
    • 方向: 输入/输出输出
    • 类型: 字符串
    • 值:按 Ctrl + K ,然后输入 selectedCountry 作为变量名称。
  4. 单击“ 确定 ”以关闭 “表单数据”
  5. 打开“ 变量 ”面板,并使用默认值 listOfCountries new List(of string) from { "India", "Romania", "US" }初始化。
    提示: 您也可以选择通过其他活动填充 listOfCountries ,而不是对其进行初始化。

创建级联下拉列表

如果您希望一个下拉列表(父级)中的选择填充第二个下拉列表(子级)中的值,请在基于任务的表单中使用它们。



要创建级联下拉列表,请执行以下操作:

  1. 在“ 创建表单任务” 活动中,单击“表单数据” 右侧的 省略号(...)。
  2. 将父下拉列表绑定到工作流。

    在此示例中,创建一个参数,将 listOfCountries List<String> 变量作为下拉列表传递到工作流。
    注意: listOfCountries 变量包含父下拉列表中的项目,即国家/地区列表。
    1. 将参数命名为 CountryList_dropdown。 此参数的“ 字段键 ”属性名称为 CountryList
    2. 方向 设置为 In 2.3。 将 类型 设置为 System.Collections.Generic.List<System.String>
    3. 设置为 listOfCountries List<String> 变量。
  3. 将子下拉列表绑定到工作流。

    在此示例中,创建一个参数,将 stateDictionaryList Dictionary<String, List<String>> 变量作为下拉列表传递到工作流。
    注意: stateDictionaryList 变量包含子下拉列表中的项目,表示每个国家/地区的州。
  4. 将参数命名为 stateDictList_dropdown。 此参数的“ 字段键 ”属性名称为 stateDictList
  5. 方向 设置为 3.3 中。 将 类型 设置为 System.Collections.Generic.Dictionary<System.String, System.Collections.Generic.List<System.String>
  6. 设置为 stateDictionaryList Dictionary<String, List<String> 变量
  7. 将子下拉列表绑定到父下拉列表。

    使用子下拉列表的名称创建一个参数,并添加 _parent 后缀。 然后,将参数的“ ”设置为父下拉列表的名称,如下所示: ”ParentDropdownVariableName”
    在此示例中,创建一个名为 stateDictList_parent的参数。 子下拉列表为 stateDictList ,您需要向其添加 _parent 后缀。
    1. 将“ 方向 ”设置为“内

    2. 将“ 类型 ”设置为 String
    3. 设置为 ”CountryList”
      填充 stateDictList 字典变量时,请注意,字典 是父级下拉列表中的值,其对应的 是在父级设置为键的情况下要在表单上显示的选项列表。
      提示:

      您可以在“ 表单数据 ”集合中传递要预填充的值(例如,使用国家/地区和州字段)。

      如果要传递子值,请确保还包含父值,以防止出现意外行为。

  8. 将父级下拉列表中的每个值映射到“字符串列表” 变量。 您可以通过任何方式填充父级下拉列表的列表(字典),但在本示例中,我们为每个值使用“ 添加到字典” 活动。

    • 字典:子下拉列表 stateDictList的字典。
    • :父下拉列表 CountryList 的字符串列表中的值 - 在本例中为 "US""India""Romania"
    • :按 Ctrl + K 并输入“字符串列表”变量的名称,该变量包含在父级中选择键值时要在子级下拉列表中显示的值 - usaStatesListindianStatesListromanianCountyList
  9. 确保将上述步骤的活动放置在“ 创建表单任务” 活动之前。
  10. 单击“ 确定 ”以关闭 “表单数据”
  11. 打开“ 变量 ”面板,并使用以下默认值初始化您创建的新字符串变量列表:

    • 对于 indianStatesListnew List(of string) from { "Odisha", "Rajasthan", "Karnataka" }
    • 对于 usaStatesListnew List(of string) from {"Florida", "Georgia", "Washington"}
    • 对于 romanianCountyList: new List(of string) from {"Cluj", "Prahova", "Constanta"}

此处下载这些示例

在“编辑网格”和“数据网格”组件中创建级联下拉列表

要在“ 编辑网格 ”或“ 数据网格 ”组件中使用级联下拉列表,请执行以下操作:

  1. 按照上述步骤创建下拉字段(使用“ 表单 数据”向导)。
  2. 打开表单设计器。
  3. 如果未在表单中创建下拉字段,请验证:

    • <dropdownKey><dropdownKey>_dropdown<dropdownKey>_parent 参数已正确添加到 FormData 集合中。
    • 已选中“ 生成 输入字段” 框。

  4. 拖放“ 编辑网格 ”或“ 数据网格 ”组件。
  5. 将在步骤 1 中创建的下拉列表拖放到“ 编辑网格 ”或“ 数据网格 ”组件中。
  6. 打开子下拉列表的配置菜单(单击 )。
  7. 在“ 逻辑 ” 选项卡中,请注意预配置的高级逻辑。



  8. 导航到“ 操作 ” >“ 架构定义 ” 字段。
  9. 将架构表达式中的 [data.<parent_dropdown_key>] 替换为 [row.<parent_dropdown_key>]


    注意: row 关键字指示表单使用网格行中的父值。
  10. 保存表单。

设置下拉列表的搜索结果数量

默认情况下,下拉列表最多显示四个搜索结果。 您可以通过在表单设计中设置属性来更改此限制。

要设置下拉列表的搜索结果数量,请执行以下操作

  1. UiPath 表单设计器中,单击“ 编辑 ”以打开下拉列表的设置,然后选择“ 数据 ” 选项卡。
  2. 在“ Choices.js 选项” 下,添加 { "searchResultLimit" : x },其中 x 是要显示的最大结果数。

显示下拉列表中的所有选项

如果下拉菜单中的字符串超过 50 个字符,则系统可能会忽略这些字符。

要显示与搜索词匹配的所有选项,请执行以下操作:

  1. 单击“编辑 JSON”docs image用于编辑要编辑的下拉列表组件。
  2. 在“ 组件 JSON ” 字段中,添加以下属性:

    ...
      "fuseOptions": {
        "distance": 800,
        },
      "threshold": 1,
      "useExactSearch": false,
    ......
      "fuseOptions": {
        "distance": 800,
        },
      "threshold": 1,
      "useExactSearch": false,
    ...
注意: threshold 属性指示算法在何时停止给定搜索词的搜索操作。 例如,{3 threshold 中的 0 要求字母和位置完全匹配。 {5 threshold 中的 1 可以匹配任何内容,甚至是拼写错误。 根据您的用例调整 threshold 值。

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.