存储表
在前面的示例中,表仅用于数据表或下拉列表控件的当前上下文。 通常在应用中,需要存储这些表并在应用中的多个位置使用它们。 要执行此操作,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)