- 入门指南
- 演示应用程序
- 如何
- 通知
- 使用 VB 表达式
- 设计应用程序
- 事件和规则
- 在应用程序中利用 RPA
- 在应用程序中利用实体
- 在应用程序中利用队列
- 在应用程序中利用媒体文件
- 在应用程序中利用操作
- 在应用程序中利用 Connections
- 应用程序生命周期管理 (ALM)
- UiPath 第一方应用程序
- 基本故障排除指南
背景信息
控件的“数据源”和“值绑定”字段是双向绑定的,这意味着它们都可以更新绑定到该控件的根数据。
为了更好地理解这一点,我们可以举一个简单的例子。您可以尝试向应用程序添加标签和文本框,然后创建应用程序变量。将文本框控件的“值”绑定属性和标签控件的“文本”属性分配给变量。预览应用程序时,请注意,当您更改文本框的值时,应用程序变量也会随之更新。另一方面,“文本”属性是单向绑定字段,仅显示无法更新的数据。
示例
在此示例中,我们将构建一个应用程序,用户可以在其中从来自流程的自定义列表中选择多个项目。
对于此示例,我们将构建以下内容:
- 自动化流程
- 使用“UiPath Apps”的应用程序
构建工作流
此示例的第一步是在 UiPath Studio 中构建工作流。这是一个简单的工作流,包含一些参数。
-
打开 Studio ,创建一个新“流程”。
-
创建以下参数:
参数名称 方向 参数类型 默认值 out_DataTable输出 数据表 - in_SelectedItems输入 数据表 new DataDablefiltered_SelectedItems输出 数据表 - -
将“序列”活动拖动至“工作流设计器”
-
在“序列”容器中添加“构建数据表”活动。
-
在“数据表”字段中添加“
out_DataTable”变量。 -
添加名为 Selected 的列。
-
如下图所示配置规则。
-
-
在“构建数据表”活动下方添加“If”活动,并按照以下步骤对其进行配置。
-
在“条件”字段中添加
in_SelectedItems.Rows.Count > 0。 -
Configure Then and Else as displayed below.
Then
-
Drag a Sequence inside the Then container.
-
在“序列”容器中添加“分配”活动。
-
Add filtered_SelectedItems in the To field.
-
Add (from r In in_SelectedItems.Select() Where r("Selected").Equals(true) Select r).CopyToDataTable in the Value field.
- 在“分配”活动下方添加“日志消息”活动。
-
Set LogLevel to
Info. -
Add
filtered_SelectedItems.ToStringin the Message field.
Else
-
在 Else 容器中拖动一个序列。
-
在“分配”活动下方添加“日志消息”活动。
-
Set LogLevel to
Info. -
Add
"First run or empty"in the Message field.
-
-
结果
最后,工作流应如下图所示。
如果流程在其输入或输出中使用复杂的 .NET 对象(例如数据表),则 App Studio 在默认情况下不知道该对象的字段是什么。您可以通过以下两种方法指定字段:
- Run your process before adding it to your app. If a process uses an object, Apps will check its Job History to automatically detect the schema/fields of that object.
- 手动指定流程输入/输出的对象字段。如果流程没有作业历史记录,那么在将其添加到应用程序后,您必须手动指定其字段,以便在应用程序中使用这些字段。
如果刷新流程,则会删除手动添加到流程的参数。
生成您的应用程序
After publishing the workflow build during the Building the workflow procedure to your Orchestrator, it's time to build the app itself.
-
创建新应用程序
-
参考上面构建的流程。
-
将一个自定义列表控件和一个表格控件并排添加到应用程序中。
-
在表格的“数据源”字段中,添加流程中的
Out: out_DataTable。 -
将“复选框”控件和“文本框”控件添加到自定义列表中,并进行如下配置:
- 在复选框控件的“标签”字段中添加流程的
Out: out_DataTable部分中的Out: Item项目。 - 在复选框控件的“值”绑定字段中添加流程的
Out: out_DataTable部分中的Out: Selected项目。 - 在文本框控件的“值”绑定字段中添加流程的
Out: out_DataTable部分中的Out: Quantity项目。
- 在复选框控件的“标签”字段中添加流程的
-
添加 Button 控件并将其命名为
Run。按如下方式配置“单击”规则:-
添加“启动流程”规则。
-
在“作业名称”字段中添加名称,并将其标记为有人值守。
-
在“输入覆盖”字段中添加
in_SelectedItems和Out.out_DataTable。
-
-
在按钮下方添加一个容器。
-
相邻添加两个标签控件。
- 在第一个标签的“文本”字段中添加流程的
Out: filtered_SelectedItems部分中的filtered_SelectedItems.Item项目。- 在第一个标签的“文本”字段中添加流程的
Out: filtered_SelectedItems部分中的filtered_SelectedItems.Quantity项目。
- 在第一个标签的“文本”字段中添加流程的
- 在第一个标签的“文本”字段中添加流程的
结论
预览应用程序时,您将能够在来自流程的自定义列表中选择项目。
此示例的关键是更好地了解数据源、值绑定和输入之间的区别:
- 数据源和值绑定是双向绑定的。这意味着它们都可以更新绑定到控件的根数据。
- 输入覆盖允许您传入来自其他来源的对象,例如来自流程的数据表或来自 Data Service 的实体。