- 入门指南
- 演示应用程序
- 如何
- 通知
- 使用 VB 表达式
- 设计应用程序
- 使用 Autopilot 设计应用程序
- 事件和规则
- 在应用程序中利用 RPA
- 在应用程序中利用实体
- 在应用程序中利用队列
- 在应用程序中利用媒体文件
- 在应用程序中利用操作
- 在应用程序中利用 Connections
- Studio Web 中的应用程序
- 应用程序生命周期管理 (ALM)
- UiPath 第一方应用程序
- 基本故障排除指南

Apps 用户指南
编辑网格
“编辑网格”控件用于列出、编辑、分页或搜索表格记录。
演示
编辑网格:使用实体
简介
此应用程序演示如何使用“编辑网格”控件处理实体。
演示应用程序 - 自行尝试
演示应用程序 - 使用说明
- 下载包含演示应用程序的 zip 文件。 它包含:
- schema.json - 应用程序使用的实体的架构
- EditGridEntity_DemoApp.uiapp - UiPath Apps 文件
- 在 UiPath Data Service 中,导入 Schema.json 文件。确保同时导入实体(国家/地区和员工)和选项集(性别和技能)。
- 使用数据填充实体和选项集。
- 在 UiPath Apps 中,创建一个新应用程序并导入下载的应用程序。
- 您可能会注意到一些错误。 要修复这些问题,请将引用的“员工”实体替换为您最近在步骤 2 中导入的实体。
- 在编辑网格中预览应用程序并与数据交互。
常规
-
数据源 - 要在网格内编辑的数据源。您必须引用 Apps 数据源类型的对象,例如 Data Service 实体或 Orchestrator 流程。 获取数据源后,网格会自动检测数据列。单击每列的“更多”图标可导航至以下属性:
-
“名称”- 列标题的显示名称。
-
来源 - 被引用实体的字段。
-
编辑模式视图 - 确定如何与列交互:
编辑模式视图选项 描述 文本框 列中单元格的行为类似于文本框控件。 日期选取器 列中单元格的行为类似于日期选取器控件。 复选框 列中单元格的行为类似于复选框控件。 下拉列表 列中单元格的行为类似于下拉控件。 多选 列中单元格的行为类似于多选控件。 -
隐藏 - 如果为 True,则在运行时隐藏列。
-
可编辑 - 如果为 False,则将列的内容标记为只读。
-
-
添加新列 - 通过单击加号“+”图标向数据添加新列。
-
隐藏 - 如果为 true,则在 Runtime 隐藏该控件。
-
可编辑 - 如果为 False,则将控件标记为只读。
-
添加行 - 如果为 True,则允许应用程序用户在 Runtime 添加新行。如果为 False,则用户无法添加新行。
-
删除行 - 如果为 True,则允许应用程序用户删除行。如果为 False,则用户无法删除行。
-
搜索 - 如果为 True,则公开内置搜索功能。
备注:编辑网格中的日期选取器不支持编辑包含时间值的列类型。使用“排除时间”选项配置Data Service实体中的列,以避免数据错误。
如果需要包含时间列,请将列的“编辑模式视图”选项设置为“文本框”类型。
Events
- 选定的行 - 配置选定行时会发生的情况。
- 添加的文件 - 配置添加文件时会发生的情况。
- 修改的行 - 配置修改行时会发生的情况。
- 删除的行 - 配置删除行时会发生的情况。
要访问更新、添加或编辑操作中的错误,请使用以下语法:
<PageName>.<ControlName>.<RuleName>.Error.Message
<PageName>.<ControlName>.<RuleName>.Error.Message
例如:
MainPage.EmployeeDetailsGrid.UpdateEntityRecord.Error.Message。
要使用输入/输出参数来操作 “编辑网格” ,请使用以下语法:
Processes.ALLDATATYPES.out_datatable
Processes.ALLDATATYPES.out_datatable
例如:
- 要添加行,请使用
Processes.ALLDATATYPES.out_datatable.AddRow(MainPage.EditGrid.NewItem)。 - 要删除行,请使用
Processes.ALLDATATYPES.out_datatable.DeleteRowAt(MainPage.EditGrid.RowIndex)。 - 要更新行,请使用
Processes.ALLDATATYPES.out_datatable.UpdateRowAt(MainPage.EditGrid.RowIndex, MainPage.EditGrid.SelectedItem)。
样式
- “控件对齐”- 默认情况下,继承父级对齐。可以设置与父级对齐方式不同的对齐方式。要默认返回到父级对齐方式,请取消选择覆盖的选项。
备注:
对齐方式取决于为父元素选择的布局(垂直与水平)。
- “背景颜色”- 网格标头和网格正文的背景颜色。
- “边框” - 控件的边框。可以配置边框粗细、颜色和半径。
- “字体” -列标头和列正文文本的字体属性,例如字体系列、大小、颜色或样式(粗体、斜体和下划线)。默认情况下,控件会继承直属父容器的字体系列,这由关键字“已继承”指示。
- “边距”- 控件的边距。默认情况下,边距设置为 4 像素。“上/下”和“左/右”边距属性结合使用。可以使用“边距”部分右侧的“链接”按钮分离这些属性。
- “大小” - 控件的宽度和高度。默认情况下,大小设置为
auto。要设置最小值或最大值,请单击三点图标 (...)。如果控件的大小小于选项的大小,则系统会显示滚动条。
VB 属性
| VB 属性 | 数据类型 | 描述 |
|---|---|---|
SelectedItem | Apps.Controls.TabularInitClass | 引用控件中当前选定的项目。 |
DataSource | Apps.Controls.ListSource(Of Apps.Controls.TabularInitClass) | 引用“表格” 控件内值的数据源。 |
NewItem | Apps.Controls.TabularInitClass | 引用由“添加行”选项创建的项目。“添加的行”事件引用此属性。 |
Editable | 布尔值 | 确定“编辑网格”是否可编辑。 |
AddRows | 布尔值 | 确定是否可以将行添加到编辑网格。 |
DeleteRows | 布尔值 | 确定是否可以从“编辑网格”中删除行。 |
RowIndex | 整数 | 引用行的索引以进行更新和删除操作。 应用于整个数据集位于内存中的流程集成。 |
Search | 布尔值 | 启用或禁用搜索功能。 如果为 true,则启用搜索。 |
Value | Apps.Controls.TabularInitClass | 控件的当前选定值。 |
Hidden | 布尔值 | 如果为 True,则在 Runtime 隐藏该控件。 |
Disabled | 布尔值 | 如果为 True,则在 Runtime 禁用该控件。 |
将复杂数据转换为 Apps 数据源
要将数据表或复杂数据类型转换为 Apps 数据源,请执行以下操作:将数据表保存到变量中,然后使用 .ToListSource 方法将数据表中的数据转换为 Apps 数据源。
- 将数据保存到数据表类型的变量中。例如,将变量命名为“dt”。
- 在表格控件的“数据源”字段中,使用以下表达式:
dt.ToListSource()dt.ToListSource()
通常,可以使用以下语法将复杂对象转换为 Apps 数据源:
Processes.ALLDATATYPES.out_datatable.ToListSource()
Processes.ALLDATATYPES.out_datatable.ToListSource()
在“编辑网格”控件中使用“数据表”
确保应用程序中已有数据表对象。
数据表对象可以定义为流程的输入、输出或输入/输出参数。 要使用这些数据表对象,您需要引用将它们用作参数的流程。
数据表仅支持列中的基元。 列中的复杂类型参数在数据表中不起作用。
假设您有一个名为“Process_A”的流程,该流程将数据表对象作为参数:
| 输入参数 | in_dt1 |
| 输出参数 | out_dt1 |
| 输入/输出参数 | inout_dt |
编辑网格
-
导航至“编辑网格”控件的“常规”选项卡。
-
在控件的“数据源”字段中,打开表达式编辑器,然后编写以下表达式:
Processes.<process_name>.<datatable_output_argument>.ToListSourceProcesses.<process_name>.<datatable_output_argument>.ToListSource例如:
Processes.Process_A.out_dt1.ToListSourceProcesses.Process_A.out_dt1.ToListSource -
要对数据表的行执行添加、编辑或删除等操作,请执行以下操作:
-
确保将“可编辑” 、 “添加行”和“删除行”属性设置为“ true ” 。

-
切换到“编辑网格”控件的“事件”选项卡,然后配置相应的规则:
-
要添加行,请针对添加的行单击“创建规则” ,然后使用“设置值”规则:
要设置的项目 Processes.<process_name>.<datatable_output_parameter>例如:Processes.Process_A.out_dt1值 Processes.<process_name>.<datatable_output_parameter>.AddRow(MainPage.EditGrid.NewItem)例如:Processes.Process_A.out_dt1.AddRow(MainPage.EditGrid.NewItem) -
要删除行,请针对已删除的行单击“创建规则” ,然后使用“设置值”规则:
要设置的项目 Processes.<process_name>.<datatable_output_parameter>例如:Processes.Process_A.out_dt1值 Processes.<process_name>.<datatable_output_parameter>.DeleteRowAt(MainPage.EditGrid.RowIndex)例如:Processes.Process_A.out_dt1.DeleteRowAt(MainPage.EditGrid.RowIndex) -
要修改行,请为修改的行单击“创建规则” ,然后使用“设置值”规则:
要设置的项目 Processes.<process_name>.<datatable_output_parameter>例如:Processes.Process_A.out_dt1值 Processes.<process_name>.<datatable_output_parameter>.UpdateRowAt(MainPage.EditGrid.RowIndex, MainPage.EditGrid.SelectedItem)例如:Processes.Process_A.out_dt1.UpdateRowAt(MainPage.EditGrid.RowIndex, MainPage.EditGrid.SelectedItem)
-
-
将实体与“编辑网格”控件一起使用
以下示例演示了如何将实体绑定到“编辑网格”控件,然后使用控件和特定于实体的规则执行 CRUD 操作。
使用的实体称为“员工”,并包含以下字段:
- 名称
- 年龄
- 出生日期
- 性别
- 团队
- 加入日期
- 是完整时间
- 技能
显示实体记录
-
新建一个 VB 应用程序,然后将“员工”实体添加到应用程序中。
-
将“编辑网格”控件添加到应用程序。
-
在“编辑网格”控件的“数据源”字段中,使用“查询生成器”并选择“员工”实体。控件的列会自动填充实体的字段。
-
对于每一列,请确保将“编辑模式视图”下拉列表设置为正确的数据类型,如下所示:
选项 描述 出生日期 日期选取器 年龄 文本框 名称 文本框 性别 下拉列表 团队 下拉列表 加入日期 日期选取器 是完整时间 复选框 技能 多选 “性别”和“团队”是实体选项集。当您在这些列的编辑模式视图中选择“下拉列表”时,将显示两个新属性: “列表来源”和“列” 。
-
要获取选项集中的选项,请执行以下操作:
- 在“列表来源”字段中,使用以下语法
GetChoiceSet("Choiceset Name")GetChoiceSet("Choiceset Name")例如,对于“性别”和“团队”列,“列表来源”字段应包含以下内容:
- 性别 -
GetChoiceSet("Gender") - 团队 -
GetChoiceSet("Team")
-
在“列”字段中写入
"Name"。
技能是一个允许多选的实体选择集。当您在这些列的编辑模式视图中选择“多选”时,将显示两个新属性: “列表来源”和“列” 。
-
像配置“性别”和“团队”一样配置“技能”列。
-
转到“编辑网格”控件的“事件”选项卡。
-
对于“添加的行”事件,创建以下规则:
- 添加“创建实体记录”规则。
- 在“应在哪个实体中创建记录?”中,选择“员工”实体。
- 在“要设置的值”字段中,更新以下内容:
- 名称属性 -
MainPage.EditGrid.NewItem.Name - 加入日期属性 -
MainPage.EditGrid.NewItem.Dateofjoining - 年龄属性 -
MainPage.EditGrid.NewItem.Age - 性别属性 -
MainPage.EditGrid.NewItem.Gender - 团队属性 -
MainPage.EditGrid.NewItem.Team - “是完整时间”属性 -
MainPage.EditGrid.NewItem.Isfulltime - 技能属性 -
MainPage.EditGrid.NewItem.Skills
- 名称属性 -
-
对于“修改的行”事件,创建以下规则:
- 添加“更新实体记录”规则。
- 在“应更新哪个实体的记录?”中,选择“员工”实体。
- 在“实体记录 ID”中,写入以下表达式:
MainPage.EditGrid.SelectedItem.IdMainPage.EditGrid.SelectedItem.Id - 在“要设置的值”字段中,更新以下内容:
- 名称属性 -
MainPage.EditGrid.SelectedItem.Name - 加入日期属性 -
MainPage.EditGrid.SelectedItem.Dateofjoining - 年龄属性 -
MainPage.EditGrid.SelectedItem.Age - 性别属性 -
MainPage.EditGrid.SelectedItem.Gender - 团队属性 -
MainPage.EditGrid.SelectedItem.Team - “是完整时间”属性 -
MainPage.EditGrid.SelectedItem.Isfulltime - 技能属性 -
MainPage.EditGrid.SelectedItem.Skills
- 名称属性 -
-
对于“删除的行”事件,创建以下规则:
- 添加“删除实体记录”规则。
- 在“应删除哪个实体记录?”中,选择“员工”实体。
- 在“实体记录 ID”中,写入以下表达式:
MainPage.EditGrid.SelectedItem.IdMainPage.EditGrid.SelectedItem.Id
-
预览您的应用程序并与“编辑网格”的各种功能进行交互,例如分页、搜索、添加新行、更新行或删除行。
在“编辑网格”控件中使用“关系”
要在“编辑网格”控件中使用“关系”类型的实体字段,请执行以下操作:
- 在“编辑模式视图”字段中,将关系字段设置为“下拉列表”。
- 在后续的“列表来源”属性中,使用以下表达式:
Fetch(of <entity_name>)(Nothing, Nothing, Nothing, Nothing, New ExpansionFieldOption(){addExpansionFieldOption("CreatedBy", New String(){"Id","Name"}), addExpansionFieldOption("UpdatedBy", New String(){"Id","Name"})})Fetch(of <entity_name>)(Nothing, Nothing, Nothing, Nothing, New ExpansionFieldOption(){addExpansionFieldOption("CreatedBy", New String(){"Id","Name"}), addExpansionFieldOption("UpdatedBy", New String(){"Id","Name"})}) - 在后续的“列”属性中,写入
"Name"。 - 在与实体相关的规则(例如“创建”、“更新”或“删除实体记录”)中,传递关系字段的 ID,如下所示:
MainPage.EditGrid.SelectedItem.<entity_name>.IdMainPage.EditGrid.SelectedItem.<entity_name>.Id