apps
2024.10
true
重要 :
请注意此内容已使用机器翻译进行了部分本地化。
UiPath logo, featuring letters U and I in white
Apps 用户指南
Automation CloudAutomation Cloud Public SectorAutomation Suite
Last updated 2024年11月11日

编辑网格

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

演示

编辑网格:使用实体

简介

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

演示应用程序 - 自行尝试
在 Cloud 中预览演示应用程序

演示应用程序 - 使用说明

  1. 下载包含演示应用程序的 zip 文件。 它包含:
    • schema.json - 应用程序使用的实体的架构

    • EditGridEntity_DemoApp.uiapp - UiPathTM Apps 文件

  2. 在 UiPathTM Data Service 中,导入 Schema.json 文件。确保同时导入实体(国家/地区和员工)和选项集(性别和技能)。
  3. 使用数据填充实体和选项集。
  4. 在 UiPathTM Apps 中,创建一个新应用程序并导入已下载的应用程序。
  5. 您可能会注意到一些错误。 要修复这些问题,请将引用的“员工”实体替换为您最近在步骤 2 中导入的实体。
  6. 预览应用程序并与编辑网格中的数据进行交互。

常规

  • 数据源 - 要在网格内编辑的数据源。您必须引用 Apps 数据源类型的对象,例如 Data Service 实体或 Orchestrator 流程。

    获取数据源后,网格会自动检测数据列。单击每列的“更多”图标可导航至以下属性:

    • “名称”- 列标题的显示名称。

    • 来源 - 被引用实体的字段。

    • 编辑模式视图 - 确定如何与列交互:

      编辑模式视图选项

      描述

      文本框

      列中单元格的行为类似于文本框控件。

      日期选取器

      列中单元格的行为类似于日期选取器控件。

      复选框

      列中单元格的行为类似于复选框控件。

      下拉列表

      列中单元格的行为类似于下拉控件。

      多选

      列中单元格的行为类似于多选控件。

    • 隐藏 - 如果为 True,则在运行时隐藏列。

    • 可编辑 - 如果为 False,则将列的内容标记为只读。

  • 添加新列 - 通过单击加号“+”图标向数据添加新列。

  • 隐藏 - 如果为 True,则在 Runtime 隐藏该控件。

  • 可编辑 - 如果为 False,则将控件标记为只读。

  • 添加行 - 如果为 True,则允许应用程序用户在 Runtime 添加新行。如果为 False,则用户无法添加新行。

  • 删除行 - 如果为 True,则允许应用程序用户删除行。如果为 False,则用户无法删除行。

  • 搜索 - 如果为 True,则公开内置搜索功能。

Events

  • 选定的行 - 配置选定行时会发生的情况。

  • 添加的文件 - 配置添加文件时会发生的情况。

  • 修改的行 - 配置修改行时会发生的情况。

  • 删除的行 - 配置删除行时会发生的情况。

备注:

要访问更新、添加或编辑操作中的错误,请使用以下语法:

<PageName>.<ControlName>.<RuleName>.Error.Message<PageName>.<ControlName>.<RuleName>.Error.Message
例如 MainPage.EmployeeDetailsGrid.UpdateEntityRecord.Error.Message

样式

  • “控件对齐”- 默认情况下,继承父级对齐方式。可以设置与父级对齐方式不同的对齐方式。要默认返回到父级对齐方式,请取消选择覆盖的选项。

    注意:对齐方式取决于为父元素选择的布局(垂直水平)。
  • “背景颜色”- 网格标头网格正文的背景颜色。

  • “边框”- 控件的边框。可以配置边框粗细颜色半径

  • “字体”- 列标头列正文文本的字体属性,例如字体系列、大小、颜色或样式(粗体、斜体和下划线)。默认情况下,控件会继承直属父容器的字体系列,这由关键字“已继承”指示。

  • “边距”- 设置控件的边距。默认情况下,边距设置为 4 像素。“上/下”和“左/右”边距属性结合使用。可以使用“边距”部分右侧的“链接”按钮分离这些属性。

  • “大小”- 控件的宽度和高度。默认情况下,大小设置为 auto。要设置最小值或最大值,请单击三点图标 (...)。如果控件的大小小于选项的大小,则系统会显示滚动条。

VB 属性

VB 属性

数据类型

描述

SelectedItem

Apps.Controls.TabularInitClass

引用控件中当前选定的项目。

数据源

Apps.Controls.ListSource(Of Apps.Controls.TabularInitClass)

引用“表格” 控件内值的数据源。

新项目

Apps.Controls.TabularInitClass

引用“添加行” 选项正在创建的项目。 “添加的行”事件引用此属性。

可编辑

布尔值

确定“编辑网格”是否可编辑。

添加行

布尔值

确定是否可以将行添加到编辑网格。

删除行

布尔值

确定是否可以从“编辑网格”中删除行。

行索引

整数

引用行的索引以进行更新和删除操作。 应用于整个数据集位于内存中的流程集成。

搜索

布尔值

启用或禁用搜索功能。 如果为 true,则启用搜索。

Apps.Controls.TabularInitClass

控件的当前选定值。

隐藏

布尔值

如果为 True,则在 Runtime 隐藏该控件。

已禁用

布尔值

如果为 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>.ToListSourceProcesses.<process_name>.<datatable_output_argument>.ToListSource

    例如:

    Processes.Process_A.out_dt1.ToListSourceProcesses.Process_A.out_dt1.ToListSource

  3. 要对数据表的行执行添加、编辑或删除等操作,请执行以下操作:
    1. 确保将可编辑添加行删除行属性设置为true

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

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

        要设置的项目

        Processes.<process_name>.<datatable_output_parameter>Processes.<process_name>.<datatable_output_parameter>

        例如:

        Processes.Process_A.out_dt1Processes.Process_A.out_dt1

        Processes.<process_name>.<datatable_output_parameter>.AddRow(MainPage.EditGrid.NewItem)Processes.<process_name>.<datatable_output_parameter>.AddRow(MainPage.EditGrid.NewItem)

        例如:

        Processes.Process_A.out_dt1.AddRow(MainPage.EditGrid.NewItem)Processes.Process_A.out_dt1.AddRow(MainPage.EditGrid.NewItem)
      2. 要删除行,请单击“为 已删除 的行 创建规则 ,然后使用“ 设置值 ”规则:

        要设置的项目

        Processes.<process_name>.<datatable_output_parameter>Processes.<process_name>.<datatable_output_parameter>

        例如:

        Processes.Process_A.out_dt1Processes.Process_A.out_dt1

        Processes.<process_name>.<datatable_output_parameter>.DeleteRowAt(MainPage.EditGrid.RowIndex)Processes.<process_name>.<datatable_output_parameter>.DeleteRowAt(MainPage.EditGrid.RowIndex)

        例如:

        Processes.Process_A.out_dt1.DeleteRowAt(MainPage.EditGrid.RowIndex)Processes.Process_A.out_dt1.DeleteRowAt(MainPage.EditGrid.RowIndex)

      3. 要修改行,请单击“为 修改 的行 创建规则 ”,然后使用“ 设置值 ”规则:

        要设置的项目

        Processes.<process_name>.<datatable_output_parameter>Processes.<process_name>.<datatable_output_parameter>

        例如:

        Processes.Process_A.out_dt1Processes.Process_A.out_dt1

        Processes.<process_name>.<datatable_output_parameter>.UpdateRowAt(MainPage.EditGrid.RowIndex, MainPage.EditGrid.SelectedItem)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)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")
    2. 在“列”字段中写入“"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.IdMainPage.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.IdMainPage.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>.IdMainPage.EditGrid.SelectedItem.<entity_name>.Id

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。