apps
latest
false
重要 :
有关 Studio Web 中的应用程序项目文档,请参阅 Studio Web 文档中的“应用程序项目”一章:https://docs.uipath.com/zh-CN/studio-web/automation-cloud/latest/user-guide/apps-in-studio-web。 请注意,此内容已使用机器翻译进行了部分本地化。 新发布内容的本地化可能需要 1-2 周的时间才能完成。
UiPath logo, featuring letters U and I in white

Apps 用户指南

上次更新日期 2026年3月16日

编辑网格

编辑网格”控件用于列出、编辑、分页或搜索表格记录。

演示

编辑网格:使用实体

简介

此应用程序演示如何使用“编辑网格”控件处理实体。

演示应用程序 - 自行尝试
从 GitHub 下载演示应用程序
在 Cloud 中预览演示应用程序
演示应用程序 - 使用说明
  1. 下载包含演示应用程序的 zip 文件。 它包含:
    • schema.json - 应用程序使用的实体的架构
    • EditGridEntity_DemoApp.uiapp - UiPath Apps 文件
  2. 在 UiPath Data Service 中,导入 Schema.json 文件。确保同时导入实体(国家/地区和员工)和选项集(性别和技能)。
  3. 使用数据填充实体和选项集。
  4. 在 UiPath Apps 中,创建一个新应用程序并导入下载的应用程序。
  5. 您可能会注意到一些错误。 要修复这些问题,请将引用的“员工”实体替换为您最近在步骤 2 中导入的实体。
  6. 编辑网格中预览应用程序并与数据交互。

常规

  • 数据源 - 要在网格内编辑的数据源。您必须引用 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 属性数据类型描述
SelectedItemApps.Controls.TabularInitClass引用控件中当前选定的项目。
DataSourceApps.Controls.ListSource(Of Apps.Controls.TabularInitClass)引用“表格” 控件内值的数据源。
NewItemApps.Controls.TabularInitClass引用由“添加行”选项创建的项目。“添加的行”事件引用此属性。
Editable布尔值确定“编辑网格”是否可编辑。
AddRows布尔值确定是否可以将行添加到编辑网格。
DeleteRows布尔值确定是否可以从“编辑网格”中删除行。
RowIndex整数引用行的索引以进行更新和删除操作。 应用于整个数据集位于内存中的流程集成。
Search布尔值启用或禁用搜索功能。 如果为 true,则启用搜索。
ValueApps.Controls.TabularInitClass控件的当前选定值。
Hidden布尔值如果为 True,则在 Runtime 隐藏该控件。
Disabled布尔值如果为 True,则在 Runtime 禁用该控件。

将复杂数据转换为 Apps 数据源

要将数据表或复杂数据类型转换为 Apps 数据源,请执行以下操作:将数据表保存到变量中,然后使用 .ToListSource 方法将数据表中的数据转换为 Apps 数据源。

  1. 将数据保存到数据表类型的变量中。例如,将变量命名为“dt”。
  2. 在表格控件的“数据源”字段中,使用以下表达式:
    dt.ToListSource()
    dt.ToListSource()
    

通常,可以使用以下语法将复杂对象转换为 Apps 数据源:

Processes.ALLDATATYPES.out_datatable.ToListSource()
Processes.ALLDATATYPES.out_datatable.ToListSource()

在“编辑网格”控件中使用“数据表”

确保应用程序中已有数据表对象。

数据表对象可以定义为流程的输入、输出或输入/输出参数。 要使用这些数据表对象,您需要引用将它们用作参数的流程。

备注:

数据表仅支持列中的基元。 列中的复杂类型参数在数据表中不起作用。

假设您有一个名为“Process_A”的流程,该流程将数据表对象作为参数:

输入参数in_dt1
输出参数out_dt1
输入/输出参数inout_dt

编辑网格

  1. 导航至“编辑网格”控件的“常规”选项卡。

  2. 在控件的“数据源”字段中,打开表达式编辑器,然后编写以下表达式:

    Processes.<process_name>.<datatable_output_argument>.ToListSource
    Processes.<process_name>.<datatable_output_argument>.ToListSource
    

    例如:

    Processes.Process_A.out_dt1.ToListSource
    Processes.Process_A.out_dt1.ToListSource
    
  3. 要对数据表的行执行添加、编辑或删除等操作,请执行以下操作:

    1. 确保将“可编辑”“添加行”“删除行”属性设置为“ true ”

      docs image

    2. 切换到“编辑网格”控件的“事件”选项卡,然后配置相应的规则:

      1. 要添加行,请针对添加的行单击“创建规则” ,然后使用“设置值”规则:

        要设置的项目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)
      2. 要删除行,请针对已删除的行单击“创建规则” ,然后使用“设置值”规则:

        要设置的项目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)
      3. 要修改行,请为修改的行单击“创建规则” ,然后使用“设置值”规则:

        要设置的项目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 操作。

使用的实体称为“员工”,并包含以下字段:

  • 名称
  • 年龄
  • 出生日期
  • 性别
  • 团队
  • 加入日期
  • 是完整时间
  • 技能

显示实体记录

  1. 新建一个 VB 应用程序,然后将“员工”实体添加到应用程序中。

  2. 将“编辑网格”控件添加到应用程序。

  3. “编辑网格”控件的“数据源”字段中,使用“查询生成器”并选择“员工”实体。控件的列会自动填充实体的字段。

  4. 对于每一列,请确保将“编辑模式视图”下拉列表设置为正确的数据类型,如下所示:

    选项描述
    出生日期日期选取器
    年龄文本框
    名称文本框
    性别下拉列表
    团队下拉列表
    加入日期日期选取器
    是完整时间复选框
    技能多选

    “性别”和“团队”是实体选项集。当您在这些列的编辑模式视图中选择“下拉列表”时,将显示两个新属性: “列表来源”“列”

  5. 要获取选项集中的选项,请执行以下操作:

    1. 在“列表来源”字段中,使用以下语法
    GetChoiceSet("Choiceset Name")
    GetChoiceSet("Choiceset Name")
    

    例如,对于“性别”和“团队”列,“列表来源”字段应包含以下内容:

    • 性别 - GetChoiceSet("Gender")
    • 团队 - GetChoiceSet("Team")
    1. “列”字段中写入"Name"

      docs image

      技能是一个允许多选的实体选择集。当您在这些列的编辑模式视图中选择“多选”时,将显示两个新属性: “列表来源”“列”

  6. 像配置“性别”和“团队”一样配置“技能”列。

  7. 转到“编辑网格”控件的“事件”选项卡。

  8. 对于“添加的行”事件,创建以下规则:

    1. 添加“创建实体记录”规则。
    2. 在“应在哪个实体中创建记录?”中,选择“员工”实体。
    3. 在“要设置的值”字段中,更新以下内容:
      • 名称属性 - 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
  9. 对于“修改的行”事件,创建以下规则:

    1. 添加“更新实体记录”规则。
    2. 在“应更新哪个实体的记录?”中,选择“员工”实体。
    3. 在“实体记录 ID”中,写入以下表达式:
      MainPage.EditGrid.SelectedItem.Id
      MainPage.EditGrid.SelectedItem.Id
      
    4. 在“要设置的值”字段中,更新以下内容:
      • 名称属性 - 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
  10. 对于“删除的行”事件,创建以下规则:

    1. 添加“删除实体记录”规则。
    2. 在“应删除哪个实体记录?”中,选择“员工”实体。
    3. 在“实体记录 ID”中,写入以下表达式:
      MainPage.EditGrid.SelectedItem.Id
      MainPage.EditGrid.SelectedItem.Id
      
  11. 预览您的应用程序并与“编辑网格”的各种功能进行交互,例如分页、搜索、添加新行、更新行或删除行。

在“编辑网格”控件中使用“关系”

要在“编辑网格”控件中使用“关系”类型的实体字段,请执行以下操作:

  1. 在“编辑模式视图”字段中,将关系字段设置为“下拉列表”。
  2. 在后续的“列表来源”属性中,使用以下表达式:
    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"})})
    
  3. 在后续的“列”属性中,写入"Name"
  4. 在与实体相关的规则(例如“创建”、“更新”或“删除实体记录”)中,传递关系字段的 ID,如下所示:
    MainPage.EditGrid.SelectedItem.<entity_name>.Id
    MainPage.EditGrid.SelectedItem.<entity_name>.Id
    

此页面有帮助吗?

连接

需要帮助? 支持

想要了解详细内容? UiPath Academy

有问题? UiPath 论坛

保持更新