在使用 Microsoft Lists 创建的列表中基于列状态自定义应用屏幕
在这篇方案文章中,您将了解如何在列表中基于列状态自定义应用屏幕。 可以自定义受支持列表或库的窗体,也可以为列表或库创建应用。
可以使用 SharePoint 内的细粒度权限限制对 SharePoint 对象的访问。 但是,可能很难浏览应用屏幕中的所有项目,特别是在使用不同设备时。
最常见的一个问题是基于列状态限制画布应用屏幕中的项目,而不是使用权限控制访问。
使用此方法,您可以创建多个屏幕来基于列状态显示不同的 SharePoint 对象,同时无需自定义权限或使整个列表的应用用户不知所措。
先决条件
- 必须已使用与列表相连的 SharePoint 连接器创建了应用。
- 您需要两个用户帐户,其具有对托管列表的应用和 SharePoint 站点的访问权限。
- 您需要了解如何配置列表和列表/项权限。
方案详细信息
可以从 SharePoint 为特定列使用功能筛选器,也可以使用特定条件应用筛选器。 可通过此方法设置具有筛选后的列表项的多个屏幕。
例如,您基于现成的 SharePoint 应用模板问题跟踪创建了一个名为“问题跟踪”的列表。 您想要创建一个仅在应用屏幕上显示可用问题的应用。
示例
基于现成的 SharePoint 应用模板问题跟踪创建列表。
创建几个示例问题项。
确保问题项同时包含可用和已关闭项。
与用户(如 Kenny Smith)共享列表。
从列表页选择集成 -> Power Apps -> 创建应用。
您可以在 Studio 中查看应用中列出的所有问题。
此示例列表仅包含两个项。 但是,当问题数量增加时,很难浏览问题或搜索问题,特别是目标是仅显示活动的问题时。
选择项库,其名称默认为 BrowseGallery1。
将默认项目属性的公式更新为包含问题状态的筛选器条件。
默认:
SortByColumns(Filter([@'Issue Tracking'], StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending))
更新到:
SortByColumns(Filter('Issue Tracking', 'Issue Status'.Value = "Active", StartsWith(Title, TextSearchBox1.Text)), "Title", If(SortDescending1, Descending, Ascending))
此公式包含以下函数:
- SortByColumns 用于对列进行排序。
- Filter 用于筛选项目。
- StartsWith 用于基于顶部搜索框中输入的文本进行搜索。
- If 用于基于所选排序图标为项目排序。
保存并发布应用。
与另一个用户共享应用。 例如,Kenny Smith。
以您与之共享应用的用户身份运行应用(在此示例中为 Kenny Smith)。
同样,您可以基于列值在应用中使用不同的屏幕,如使用单独屏幕查看所有已关闭问题。