练习 - 使用集合和操作表
在本练习中,您将练习使用表。 您将创建集合、筛选集合、对集合执行查找、编辑集合中的记录、向集合添加记录以及从集合中删除记录。
创建数据集合
登录到 Power Apps。
在“主页”屏幕中,从左侧导航面板中选择 + 创建。 然后选择空白应用。
最后,在“空白画布应用”下选择创建。
为应用命名,然后选择创建。
选择插入选项卡并添加按钮,将其 OnSelect 属性设置为以下公式:
ClearCollect(CityPopulations, {City:"London", Country:"United Kingdom", Population:8615000}, {City:"Berlin", Country:"Germany", Population:3562000}, {City:"Madrid", Country:"Spain", Population:3165000}, {City:"Rome", Country:"Italy", Population:2874000}, {City:"Paris", Country:"France", Population:2273000}, {City:"Hamburg", Country:"Germany", Population:1760000}, {City:"Barcelona", Country:"Spain", Population:1602000}, {City:"Munich", Country:"Germany", Population:1494000}, {City:"Milan", Country:"Italy", Population:1344000})
按住 Alt 键并选择按钮控件。 (这将创建集合并存储所有信息。)将按钮的 Text 属性更新为“Collect”。
插入垂直库控件并选择 CityPopulations 作为“数据源”(也可以将库的 Items 属性更新为 CityPopulations。)
选择库后,在屏幕右侧的属性面板中将“布局”更改为标题、副标题和正文。 然后选择字段并更改 Body 下拉选项以读取“Population”。 请参考下图。
仍选择该库,并将 OnSelect 属性更新为以下内容:
Set(varRecord,ThisItem)
筛选集合
插入文本标签并将“Text”属性更改为“Population”。 然后将其移动到库的右侧。
接下来,插入滑块控件并将其放到创建的标签下。 您可以在搜索字段中输入“滑块”来快速查找此控件。
选择滑块控件并将 Min 属性更改为:
Min(CityPopulations, Population)
接下来,将 Max 属性更改为:
Max(CityPopulations, Population)
现在选择库并将 Items 属性更改为:
Filter(CityPopulations, Population>= Slider1.Value)
现在我们只能看到大于所选滑块值的记录。 将应用置于预览模式并移动滑块查看实际效果。 一直向左移动滑块,您将看到所有城市。 当您向右移动滑块时,列表范围会缩小,最终只有伦敦仍保留在库中。
使用 LookUp 和 Patch 函数
插入文本标签并将“Text”属性更改为“City”,然后将其放置在滑块下。
接下来,插入下拉列表控件并将其移动到 City 标签下。
在下拉列表的 Items 属性中,键入以下内容:
CityPopulations.City
在下拉列表的 OnChange 属性中,输入以下内容:
Set(varRecord, LookUp(CityPopulations, City=Self.SelectedText.City))
插入另一个文本标签并将 Text 属性更改为“Country”。
插入文本输入控件并将其移动到“Country”标签下。
在文本输入的 Default 属性中,输入 varRecord.Country。
将此“文本输入”控件的名称更改为 txtCountry:
重复前面 4 个步骤,为 City 和 Population 添加文本标签和文本输入控件,分别将其文本输入的 Default 属性更新为 varRecord.City 和 varRecord.Population。 完成后,您的屏幕应如下图所示。
现在向屏幕添加按钮并将其放到“Population”文本输入下。 将 Text 属性改为“提交”。
将按钮的 OnSelect 属性改为以下内容:
Patch(CityPopulations, varRecord, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
注意
我们需要使用 Value() 包装 txtPopulation.Text,因为文本输入默认返回字符串,而集合预计接收数字。
将应用置于预览模式并从库中选择一个项目。 更改其中一个值并按“Submit”按钮,您将看到此项目在库中已发生更改。
将应用重新置于编辑模式。
添加和删除记录
选择“Submit”按钮并复制。 粘贴三次。
将三个新按钮的 Text 属性改为 Clear、New 和 Remove。
将按钮放置在与原始“提交”按钮对齐的两个按钮的两行中(“New”位于“Submit”下,“Clear”位于“Submit”右侧,“Remove”位于“Clear”下)。
按住 Ctrl 并单击 Clear 和 Remove 按钮。 将 DisplayMode 属性更改为:
If(IsBlank(varRecord), DisplayMode.Disabled, DisplayMode.Edit)
现在仅在选定记录时才能单击这些按钮。
按住 Ctrl 并单击 Remove 按钮以取消选中。 将 Clear 按钮的 OnSelect 属性更新为以下内容:
Set(varRecord, Blank())
您现在可以使用此按钮清除所选记录。 预览应用并选择 Clear 按钮。
请注意,“Clear”和“Remove”按钮均显示为禁用状态。
将应用重新置于编辑模式,然后选择 Remove 按钮。 将 OnSelect 属性更新为:
Remove(CityPopulations, varRecord)
最后,选择 New 按钮并将按钮的 OnSelect 属性更改为:
Collect(CityPopulations, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
将应用置于预览模式,然后尝试添加新记录并删除现有记录。
现在您已了解如何在 Power Apps 中更广泛地使用表。 您可以向按钮的不同属性添加其他功能,以提供更好的用户体验,但希望您能通过本练习了解各种可能性。