65.9K
CodeProject 正在变化。 阅读更多。
Home

使用自定义连接器构建 Teams Power App 第三部分:编辑数据并写回应用

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2021年7月29日

CPOL

7分钟阅读

viewsIcon

3357

在本文中,我们将学习如何在 Power App 中编辑数据并将其写回应用,从而帮助您的组织团队快速轻松地管理具有一致信息的事件。

这是我们 Teams + Power Apps 系列的第三篇也是最后一篇文章,旨在改进我们的 Teams Power App。在第一篇文章中,我们创建了一个简单的 Teams Power App,并将其连接到一个包含手动输入数据的表。在第二篇文章中,我们编写了一个 Power Automate Flow,用于将 Meetup.com 上的会议列表拉取到我们的 Teams 应用中。

到目前为止,我们的 Teams Power App 跟踪来自 .NET Foundation 的 meetup 网站的会议。该应用将未来的会议数据拉取到我们的 Teams Dataverse 和 MeetingLists 表中。然后,它会向我们的 Teams 用户显示会议信息,如下所示

在本文中,我们将修改 Power App 以添加会议评级,然后返回该评级信息。我们还将清理原始会议应用的显示并添加一些技巧。

增强 Power App

为了增强我们的 Power App,我们现在将向 MeetingList 表添加一个评级字段。它将从另一个表获取此评级。

我们将从添加“评级”字段和清理原始表显示开始。要使用 Teams 中的 Power App 编辑器添加表字段,我们点击数据图标,点击MeetingLists,点击省略号以显示弹出菜单,然后选择编辑数据

接下来,我们点击+ 添加列并创建一个新的数字字段,范围为 0 到 5。

接下来,我们添加一个新表,MeetingRatings。此表包含用于命名评级、识别 MeetingLists 中的会议、提供数字评级和撰写评论的字段。在数据区域,我们点击顶部的+ 添加数据,然后点击创建新表

我们现在创建一个新表并将其命名为“MeetingRatings”。

当我们创建一个表时,它会添加一个必需的名称字段,我们无法删除。但是,我们可以重命名它,我们将其用于包含评级的标题。我们通过点击当前列名“名称”右侧的向下箭头来重命名列。

我们可以使用右侧的加号创建更多列,或者我们可以点击顶部的+ 添加列。我们这样做是为了添加以下列

  • “Meetup”,类型为查找,查找“会议列表”
  • “评级”,类型为数字,范围为 0 到 5(请参阅高级选项)
  • “评论”,类型为文本,长度为 1,000

我们的表如下所示

现在我们可以回到数据图标,查看表格,右键点击编辑数据,并添加一行数据。例如,当我们点击Meetup字段时,它会显示一个会议列表。请注意,应用获取列表时可能会有短暂的延迟。

我们为演示添加了一行

接下来,我们添加一个新的空白屏幕并将其重命名为“评级”。但是,我们可以重命名它并点击空白画布以添加数据并选择 MeetingRatings 表。或者,我们可以添加额外的格式。

请注意,Power Apps 不会自动添加Meetup字段。我们需要编辑表单并添加该字段。

现在我们可以保存表单并预览它。我们可以点击我们拥有的一个记录来查看评级或添加新记录。

另外,请注意评级必须是整数。

我们可以通过点击右上角的铅笔图标来编辑记录。例如,如果我们为评级输入非法值,自动验证会给我们一个错误消息,我们将无法保存记录(通过点击右上角的对勾图标)。

请注意,Power App 网站为 Teams Power App 提供了一些附加功能。例如,我们可以删除一个表。要打开 Power Automate 网站,请在 Teams 中点击Power Automate,然后点击右上角的小地球图标。

另外请注意,我们应该检查我们是否在正确的环境中(显示在右上角)。如果我们点击团队名称,我们可能会看到多个环境。正确的环境与我们创建 Power App 的团队具有相同的名称。

例如,如果我们从 Power Automate 中删除一个表,我们仍然必须从 Power App 的数据部分中删除它。

创建更新评级流

接下来,我们将通过创建一个更新评级并将其写入会议表的新流来将所有内容整合在一起。我们将使用一个简单的流,该流假设每个会议有一个评级,以避免更复杂的循环和获取 XML 聚合。

首先,我们转到我们的流,点击+ 新建流,然后选择自动化云流。我们将看到一个构建自动化云流对话框。将其命名为“会议评级更新器”之类的名称。

对于触发器,我们搜索“Dataverse”并选择添加、修改或删除行时,然后点击创建。如果流无法正常工作,您可以使用手动触发器来缩短调试周期。

现在,为了简单起见,我们只设置触发器的必填字段。我们还可以按特定列进行筛选。让我们将其设置为在 MeetingRatings 表中创建、更新或删除行。

为了保持简单,并且由于目前我们每个会议只有一个评级,我们将遍历 MeetingRatings 表并更新 MeetingLists 中相应的会议。更合适的方法是收集事件的所有评级,然后计算平均值。然而,聚合是 Power Automate Flow 中更复杂的任务,超出了本文的范围。

最后,我们将遍历所有会议评级并更新相应的会议列表条目。上一步将评级列表作为值传递。我们将MeetingLists标识为表,将Meetup (Value)标识为行 ID。在 Dataverse 中,唯一标识符和 GUID 是主键。

请注意,我们重命名每个步骤以使其更有意义。

现在我们可以保存流并自动运行流检查器以显示任何错误或警告。流检查器确实建议在获取会议评级上添加一个过滤器以限制行,就像我们在任何常规数据库项目中会做的那样。为了简单起见,我们在此处跳过该步骤。

测试评级功能

此时,我们可以通过编辑 MeetingRatings 表中的行来测试我们的新应用功能。我们也可以使用自动功能。它使用最近的触发器。在这里,我们更新 MeetingRatings 表中的两行,然后监控流以确保它成功运行。

为此,我们点击数据,打开MeetingsRatings表,然后使用默认视图点击编辑数据。我们还将评级列添加到默认视图,以便我们可以轻松修改评级列。

我们将评级分别更改为 1 和 2,并监控流。几分钟后,触发器应该会启动并报告:“成功”。请注意,您可能需要多次迭代,如下所示

当我们点击任何行中的开始列时,Power Automate 会显示运行结果并提供更多信息以修复问题(如果需要)。

接下来,当我们查看 MeetingLists 表的默认视图(添加了评级列)时,我们可以看到评级已更新。

现在我们可以将 MeetingRatings 应用发布到我们的 Teams 团队中,并在那里更改评级。然后,我们可以打开 MeetingList 应用,几分钟后,看到这些更改的结果。

摘要

在本系列文章中,我们创建了一个简单的 Teams Power Apps 工具,用于从 Meetup.com 读取会议信息,向我们 Teams 小组的用户显示该信息,使他们能够对会议进行评级,并更新该信息。我们组织的成员现在可以更轻松地在与其他生产力工具相同的位置管理会议信息。

Microsoft Teams 中的 Power Apps 和 Power Automate 为使用无代码工具编写应用程序并将其提供给团队中的每个人提供了一个领域专家 vast array of possibilities。这些工具正在不断发展,频繁改进和增强,以使 Teams 用户能够创建和使用更广泛的功能。

在本系列文章中,我们探讨了在 Teams 中创建有用的生产力工具是多么容易。您可以使用自己的增强功能扩展我们的简单应用,或者创建全新的东西来帮助您的团队或其他用户提高工作效率。了解有关Power Apps for Teams的更多信息,并立即开始构建您的独特应用。

© . All rights reserved.