- 概述
- 标注
- 复杂场景
- 凭据
- Data Service
- 表单
- FTP
- IPC
- 暂留
- Automation Ops 管道
- 系统
- 发行说明
- 关于“系统”活动包
- 项目兼容性
- 受支持的字符编码
- “正则表达式构建器”向导
- 添加数据列
- 添加数据行
- 添加日志字段
- 加减日期
- 添加事务项目
- 添加队列项目
- 将项目附加至集合
- 将项目附加至列表
- 附加行
- 提示音
- 中断/退出循环
- 浏览文件
- 浏览文件夹
- 构建集合
- 构建数据表
- 批量添加队列项目
- 更改文本大小写
- 更改类型
- 检查 False
- 检查 True
- 清除数据表
- 从集合到数据表
- 注释
- 压缩文件/Zip 文件
- 复制文件
- 复制文件夹
- 合并文本
- 注释掉/禁用的活动
- 继续/跳过当前
- 创建文件
- 创建文件夹
- 创建列表
- 自定义输入
- 删除
- 删除文件
- 删除文件夹
- 删除存储文件
- 删除队列项目
- 禁用本地触发器
- Do While 循环
- 从 URL 下载文件
- 下载存储文件
- 启用本地触发器
- 评估业务规则
- 存在于集合中
- 提取/解压缩文件
- 从文本中提取日期和时间
- 提取文本
- 文件更改触发器
- 文件已存在
- 筛选集合
- 筛选数据表
- 文件夹存在
- 遍历循环
- 适用于文件夹中的每个文件
- 文件更改触发器 v3
- 查找和替换
- 查找匹配模式
- 对于文件夹中的每个文件夹
- 对于数据表中的每一行
- 将日期格式设置为文本
- 为值添加格式
- 从文本中生成数据表
- 获取资产
- 获取凭据/获取 Orchestrator 凭据
- 获取当前作业信息
- 获取环境文件夹
- 获取环境变量
- 获取文件信息
- 获取文件夹信息
- 获取作业
- 获取进程
- 获取行项目
- 获取事务项目
- 获取用户名/密码
- 获取队列项目
- 全局变量更改触发器
- 输入对话框
- 调用代码
- 调用 COM 方法
- 调用 PowerShell
- 调用流程
- 调用 VBScript
- 调用工作流文件
- 是否为文本匹配
- 联接数据表
- 终止进程
- 启动工作流交互
- 列出存储文件
- 日志消息
- 查找数据表
- 手动触发器
- 合并集合
- 合并数据表
- 消息框
- 修改日期
- 修改文本
- 移动文件
- 移动文件夹
- 多重分配
- 向队列新增项目
- 通知全局变量已更改
- Orchestrator HTTP 请求
- 输出数据表
- 存在路径
- 推迟事务项目
- 流程终止触发器
- 流程启动触发器
- 发出警示
- 读取列表项目
- 读取文本文件
- 读取存储文本
- 删除数据列
- 删除数据行
- 删除重复行
- 从集合中删除
- 删除日志字段
- 替换匹配模式
- 重复次数
- 重复触发器
- 重命名文件
- 重命名文件夹
- 报告状态
- 重置计时器
- 恢复计时器
- 重试作用域
- 返回
- 运行并行流程
- 设置资产
- 设置凭据
- 设置环境变量
- 设置事务进度
- 设置事务状态
- 应停止
- 拆分文本
- 数据表排序
- 运行本地触发器
- 启动计时器
- 开始作业
- 停止作业
- 停止本地触发器
- 停止计时器
- 左侧/右侧的文本
- 要大写/小写的文本
- 时间触发器
- 触发器作用域
- 超时作用域
- 更新行项目
- 更新列表项目
- 上传存储文件
- 等待下载
- 等待队列项目
- 先条件循环
- 工作流占位符
- 写入存储文本
- 写入文本文件
- 添加数据行
- AddQueueItem
- 添加事务项目
- 附加行
- BulkAddQueueItems
- 清除数据表
- 压缩 Zip 文件
- 复制文件
- 创建文件
- 创建文件夹
- 删除文件或文件夹
- 删除队列项目
- 删除存储文件
- 下载存储文件
- 提取解压缩文件
- 筛选数据表
- 获取资产
- 获取凭据
- GetJobs
- 获取队列项目
- GetQueueItems
- 获取本地路径的资源
- 获取行项目
- 获取事务项目
- 调用流程
- 联接数据表
- 列出存储文件
- 查找数据表
- 合并数据表
- 移动文件
- Orchestrator HTTP 请求
- OutputDataTable
- 存在路径
- 推迟事务项目
- 读取存储文本
- 读取文本文件
- 删除数据列
- 删除重复行
- 替换
- 设置资产
- 设置凭据
- SetTransactionProgress
- 设置事务状态
- 数据表排序
- 开始作业
- 停止作业
- 更新行项目
- 上传存储文件
- 等待队列项目
- 写入存储文本
- 写入文本文件
- 测试
- 发行说明
- 关于“测试”活动包
- 项目兼容性
- 项目设置
- Address
- AddTestDataQueueItem
- AttachDocument
- BulkAddTestDataQueueItems
- DeleteTestDataQueueItems
- GetTestDataQueueItem
- GetTestDataQueueItems
- GivenName
- LastName
- RandomDate
- RandomNumber
- RandomString
- RandomValue
- VerifyAreEqual
- VerifyAreNotEqual
- VerifyContains
- VerifyExpression
- VerifyExpressionWithOperator
- VerifyIsGreater
- VerifyIsGreaterOrEqual
- VerifyIsLess
- VerifyIsLessOrEqual
- VerifyIsRegexMatch
- VerifyRange
- 工作流事件
- Workflow Foundation
下拉菜单的高级控件
本页上的教程在“ 创建表单任务” 活动中演示如何在UiPath 表单设计器中使用下拉列表。 用于实现教程中结果的最常用属性是 FormData(Collection)。
在要发送动态数据以填充表单操作内的下拉控件的工作流中使用它们。
使用此方法,字符串列表类型的变量将保存下拉列表的值,而不是在 UiPath 表单设计器的“数据” 选项卡上添加静态值。
在以下示例中,我们创建一个国家/地区的动态下拉列表,使用国家/地区列表初始化一个变量,并创建一个附加变量以捕获用户选择的国家/地区。
要创建动态下拉列表,请执行以下操作:
- 在“ 创建表单任务” 活动中,单击“表单数据” 右侧的 省略号(
...
)。 -
为动态下拉列表添加参数,如下所示:
- 名称:
countryList_dropdown
- 方向: 在
- 类型: 字符串列表 (
List<String>
) -
值:按 Ctrl + K ,然后输入
listOfCountries
作为变量名称。listOfCountries
变量包含下拉列表中的项目。注意: 也支持字符串数组,但您必须在 表单设计器 中手动添加下拉组件,并添加 字段键值 。
- 名称:
-
如果要将用户选择返回到工作流,请添加另一个参数以捕获所选值:
- 名称:
country
(下拉组件的字段键) - 方向: 输入/输出 或 输出
- 类型: 字符串
- 值:按 Ctrl + K ,然后输入
selectedCountry
作为变量名称。
- 名称:
- 单击“ 确定 ”以关闭 “表单数据”。
-
打开“ 变量 ”面板,并使用默认值
listOfCountries
new List(of string) from { "India", "Romania", "US" }
初始化。提示: 您也可以选择通过其他活动填充listOfCountries
,而不是对其进行初始化。
如果您希望一个下拉列表(父级)中的选择填充第二个下拉列表(子级)中的值,请在基于任务的表单中使用它们。
要创建级联下拉列表,请执行以下操作:
- 在“ 创建表单任务” 活动中,单击“表单数据” 右侧的 省略号(
...
)。 -
将父下拉列表绑定到工作流。
在此示例中,创建一个参数,将listOfCountries
List<String> 变量作为下拉列表传递到工作流。注意:listOfCountries
变量包含父下拉列表中的项目,即国家/地区列表。- 将参数命名为
CountryList_dropdown
。 此参数的“ 字段键 ”属性名称为CountryList
。 - 将 方向 设置为 In 2.3。 将 类型 设置为
System.Collections.Generic.List<System.String>
- 将 值 设置为
listOfCountries
List<String> 变量。
- 将参数命名为
-
将子下拉列表绑定到工作流。
在此示例中,创建一个参数,将stateDictionaryList
Dictionary<String, List<String>> 变量作为下拉列表传递到工作流。注意:stateDictionaryList
变量包含子下拉列表中的项目,表示每个国家/地区的州。 - 将参数命名为
stateDictList_dropdown
。 此参数的“ 字段键 ”属性名称为stateDictList
。 - 将 方向 设置为 在 3.3 中。 将 类型 设置为
System.Collections.Generic.Dictionary<System.String, System.Collections.Generic.List<System.String>
- 将 值 设置为
stateDictionaryList
Dictionary<String, List<String> 变量 -
将子下拉列表绑定到父下拉列表。
使用子下拉列表的名称创建一个参数,并添加_parent
后缀。 然后,将参数的“ 值 ”设置为父下拉列表的名称,如下所示:”ParentDropdownVariableName”
。在此示例中,创建一个名为stateDictList_parent
的参数。 子下拉列表为stateDictList
,您需要向其添加_parent
后缀。-
将“ 方向 ”设置为“内 ”。
-
将“ 类型 ”设置为
String
。 -
将 值 设置为
”CountryList”
。填充stateDictList
字典变量时,请注意,字典 键 是父级下拉列表中的值,其对应的 值 是在父级设置为键的情况下要在表单上显示的选项列表。提示:您可以在“ 表单数据 ”集合中传递要预填充的值(例如,使用国家/地区和州字段)。
如果要传递子值,请确保还包含父值,以防止出现意外行为。
-
-
将父级下拉列表中的每个值映射到“字符串列表” 变量。 您可以通过任何方式填充父级下拉列表的列表(字典),但在本示例中,我们为每个值使用“ 添加到字典” 活动。
- 字典:子下拉列表
stateDictList
的字典。 - 键:父下拉列表
CountryList
的字符串列表中的值 - 在本例中为"US"
、"India"
和"Romania"
。 - 值:按 Ctrl + K 并输入“字符串列表”变量的名称,该变量包含在父级中选择键值时要在子级下拉列表中显示的值 -
usaStatesList
、indianStatesList
和romanianCountyList
。
- 字典:子下拉列表
- 确保将上述步骤的活动放置在“ 创建表单任务” 活动之前。
- 单击“ 确定 ”以关闭 “表单数据”。
-
打开“ 变量 ”面板,并使用以下默认值初始化您创建的新字符串变量列表:
- 对于
indianStatesList
:new List(of string) from { "Odisha", "Rajasthan", "Karnataka" }
- 对于
usaStatesList
:new List(of string) from {"Florida", "Georgia", "Washington"}
- 对于
romanianCountyList
:new List(of string) from {"Cluj", "Prahova", "Constanta"}
。
- 对于
在此处下载这些示例
要在“ 编辑网格 ”或“ 数据网格 ”组件中使用级联下拉列表,请执行以下操作:
- 按照上述步骤创建下拉字段(使用“ 表单 数据”向导)。
- 打开表单设计器。
-
如果未在表单中创建下拉字段,请验证:
<dropdownKey>
、<dropdownKey>_dropdown
和<dropdownKey>_parent
参数已正确添加到 FormData 集合中。-
已选中“ 生成 输入字段” 框。
- 拖放“ 编辑网格 ”或“ 数据网格 ”组件。
- 将在步骤 1 中创建的下拉列表拖放到“ 编辑网格 ”或“ 数据网格 ”组件中。
- 打开子下拉列表的配置菜单(单击 )。
-
在“ 逻辑 ” 选项卡中,请注意预配置的高级逻辑。
- 导航到“ 操作 ” >“ 架构定义 ” 字段。
-
将架构表达式中的
[data.<parent_dropdown_key>]
替换为[row.<parent_dropdown_key>]
。
注意: row 关键字指示表单使用网格行中的父值。 - 保存表单。
默认情况下,下拉列表最多显示四个搜索结果。 您可以通过在表单设计中设置属性来更改此限制。
要设置下拉列表的搜索结果数量,请执行以下操作:
- 在 UiPath 表单设计器中,单击“ 编辑 ”以打开下拉列表的设置,然后选择“ 数据 ” 选项卡。
- 在“ Choices.js 选项” 下,添加
{ "searchResultLimit" : x }
,其中x
是要显示的最大结果数。
如果下拉菜单中的字符串超过 50 个字符,则系统可能会忽略这些字符。
要显示与搜索词匹配的所有选项,请执行以下操作:
- 单击 “编辑 JSON” 为要编辑 的下拉列表 组件。
-
在“ 组件 JSON ” 字段中,添加以下属性:
... "fuseOptions": { "distance": 800, }, "threshold": 1, "useExactSearch": false, ...
... "fuseOptions": { "distance": 800, }, "threshold": 1, "useExactSearch": false, ...
threshold
属性指示算法在何时停止给定搜索词的搜索操作。 例如,{3 threshold
中的 0
要求字母和位置完全匹配。 {5 threshold
中的 1
可以匹配任何内容,甚至是拼写错误。 根据您的用例调整 threshold
值。