存储表

已完成

在前面的示例中,表仅用于数据表或下拉列表控件的当前上下文。 通常在应用中,需要存储这些表并在应用中的多个位置使用它们。 要执行此操作,Power Apps 有一个名为集合的表变量。

集合是 Power Apps 中的一种变量

集合是可以采用结构化格式存储数据(就像在表数据源中一样)的表变量,而无需写入数据源。 换言之,它们将值存储在行和列中。 就像任何其他数据源一样,可以将集合和表函数搭配使用。 但是,不能将集合和窗体控件搭配使用。 如果您有开发人员背景,则可以将集合看作数组。 无需初始化或预定义集合。 在创建集合并设置值时,Power Apps 会为您进行设置。

创建集合

可以在应用中的任意位置执行通常可以执行的操作,从而创建集合。 例如,可以通过更改按钮的 OnSelect 属性,以在按下按钮时创建集合,甚至可以在访问某个屏幕时通过更改该屏幕的 OnVisible 属性来创建集合。 可以使用此公式创建一个名为 collectMyFirstCollection 的集合。

Collect(collectMyFirstCollection, {Name: "Shane", FavoriteColor:"Orange"})

该集合将具有一个名为 Name 的列和另一个名为 FavoriteColor 的列。 该集合中将具有一条数据记录(行),Name 值为 Shane,FavoriteColor 值为 Orange。 请注意,语法非常类似于本模块前面介绍的 Table 函数。

可以使用此公式将另一条记录添加到集合中。

Collect(collectMyFirstCollection, {Name: "Nicola", FavoriteColor:"Purple"})

还可以通过使用此公式一次添加多条记录。

Collect(collectMyFirstCollection, {Name: "Jeff", FavoriteColor:"Blue"}, {Name: "Chewy", FavoriteColor: "Red"})

如果已运行所有这些命令,则集合将类似于下表:

Name FavoriteColor
Shane Orange
Nicola Purple
Jeff Blue
Chewy Red

然后,可以将该集合用作下拉列表控件的数据源。

从集合中移除数据

要在添加数据之前清除集合中的现有数据,可以使用 ClearCollect 函数。 如果使用上一示例中的现有集合,则可以使用此公式:

ClearCollect(collectMyFirstCollection, {Name: "Fausto", FavoriteColor:"Green"})

现在集合应类似于下表:

Name FavoriteColor
Fausto Green

还可以使用 Clear 函数从集合移除所有记录。 此公式可从集合中移除所有记录,但列保持不变:

Clear(collectMyFirstCollection)