练习 - 使用集合和操作表

已完成

在本练习中,您将练习使用表。 您将创建集合、筛选集合、对集合执行查找、编辑集合中的记录、向集合添加记录以及从集合中删除记录。

创建数据集合

  1. 登录到 Power Apps

  2. 在“主页”屏幕中,从左侧导航面板中选择 + 创建。 然后选择空白应用

    最后,在“空白画布应用”下选择创建

  3. 为应用命名,然后选择创建

  4. 选择插入选项卡并添加按钮,将其 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})
    
  5. 按住 Alt 键并选择按钮控件。 (这将创建集合并存储所有信息。)将按钮的 Text 属性更新为“Collect”。

  6. 插入垂直库控件并选择 CityPopulations 作为“数据源”(也可以将库的 Items 属性更新为 CityPopulations。)

  7. 选择库后,在屏幕右侧的属性面板中将“布局”更改为标题、副标题和正文。 然后选择字段并更改 Body 下拉选项以读取“Population”。 请参考下图。

    新库的屏幕截图,其中突出显示了“属性”面板中的“Data source”和“Fields”选项,以及作为“Body1”下所选选项的“Population”。

  8. 仍选择该库,并将 OnSelect 属性更新为以下内容:

     Set(varRecord,ThisItem)
    

筛选集合

  1. 插入文本标签并将“Text”属性更改为“Population”。 然后将其移动到库的右侧。

  2. 接下来,插入滑块控件并将其放到创建的标签下。 您可以在搜索字段中输入“滑块”来快速查找此控件。

  3. 选择滑块控件并将 Min 属性更改为:

    Min(CityPopulations, Population)
    
  4. 接下来,将 Max 属性更改为:

    Max(CityPopulations, Population)
    
  5. 现在选择库并将 Items 属性更改为:

    Filter(CityPopulations, Population>= Slider1.Value)
    
  6. 现在我们只能看到大于所选滑块值的记录。 将应用置于预览模式并移动滑块查看实际效果。 一直向左移动滑块,您将看到所有城市。 当您向右移动滑块时,列表范围会缩小,最终只有伦敦仍保留在库中。

    滑块筛选器的动画。

使用 LookUp 和 Patch 函数

  1. 插入文本标签并将“Text”属性更改为“City”,然后将其放置在滑块下。

  2. 接下来,插入下拉列表控件并将其移动到 City 标签下。

  3. 在下拉列表的 Items 属性中,键入以下内容:

    CityPopulations.City
    
  4. 在下拉列表的 OnChange 属性中,输入以下内容:

    Set(varRecord, LookUp(CityPopulations, City=Self.SelectedText.City))
    
  5. 插入另一个文本标签并将 Text 属性更改为“Country”。

  6. 插入文本输入控件并将其移动到“Country”标签下。

  7. 文本输入Default 属性中,输入 varRecord.Country

  8. 将此“文本输入”控件的名称更改为 txtCountry

  9. 重复前面 4 个步骤,为 CityPopulation 添加文本标签和文本输入控件,分别将其文本输入的 Default 属性更新为 varRecord.CityvarRecord.Population。 完成后,您的屏幕应如下图所示。

    文本输入和新标签的屏幕截图。

  10. 现在向屏幕添加按钮并将其放到“Population”文本输入下。 将 Text 属性改为“提交”。

  11. 将按钮的 OnSelect 属性改为以下内容:

    Patch(CityPopulations, varRecord, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
    

    注意

    我们需要使用 Value() 包装 txtPopulation.Text,因为文本输入默认返回字符串,而集合预计接收数字。

  12. 将应用置于预览模式并从库中选择一个项目。 更改其中一个值并按“Submit”按钮,您将看到此项目在库中已发生更改。

  13. 将应用重新置于编辑模式。

添加和删除记录

  1. 选择“Submit”按钮并复制。 粘贴三次。

  2. 将三个新按钮的 Text 属性改为 ClearNewRemove

  3. 将按钮放置在与原始“提交”按钮对齐的两个按钮的两行中(“New”位于“Submit”下,“Clear”位于“Submit”右侧,“Remove”位于“Clear”下)。

  4. 按住 Ctrl 并单击 ClearRemove 按钮。 将 DisplayMode 属性更改为:

    If(IsBlank(varRecord), DisplayMode.Disabled, DisplayMode.Edit)
    

    现在仅在选定记录时才能单击这些按钮。

  5. 按住 Ctrl 并单击 Remove 按钮以取消选中。 将 Clear 按钮的 OnSelect 属性更新为以下内容:

    Set(varRecord, Blank())
    

    您现在可以使用此按钮清除所选记录。 预览应用并选择 Clear 按钮。

    请注意,“Clear”和“Remove”按钮均显示为禁用状态。

  6. 将应用重新置于编辑模式,然后选择 Remove 按钮。 将 OnSelect 属性更新为:

    Remove(CityPopulations, varRecord)
    
  7. 最后,选择 New 按钮并将按钮的 OnSelect 属性更改为:

    Collect(CityPopulations, {Country: txtCountry.Text, City: txtCity.Text, Population: Value(txtPopulation.Text)})
    
  8. 将应用置于预览模式,然后尝试添加新记录并删除现有记录。

    新创建的记录的屏幕截图,其中突出显示了新记录和“New”按钮。

现在您已了解如何在 Power Apps 中更广泛地使用表。 您可以向按钮的不同属性添加其他功能,以提供更好的用户体验,但希望您能通过本练习了解各种可能性。