【问题标题】:Filter a PowerApps Data source for BrowseGallery based on Sharepoint column根据 Sharepoint 列筛选 BrowseGallery 的 PowerApps 数据源
【发布时间】:2020-01-13 05:00:06
【问题描述】:

我正在设计一个基于 SharePoint Online 列表的资产管理 PowerApp。它采用项目类型(例如笔记本电脑、服务器或打印机等)等字段,并允许用户当前根据扫描的条形码进行过滤。 但是,我现在创建了一个菜单屏幕,用户可以选择是要搜索笔记本电脑还是服务器。这会根据他们的选择将他们导航到不同的屏幕。我想根据AssetType 字段中的值过滤数据源。这是一个多选字段,可以是笔记本电脑、服务器或打印机

BrowseGallery 的当前公式是SortByColumns(Filter(EquipmentInventory, StartsWith(Barcode, BarcodeScanner1.Value)), "Title", If(SortDescending1, Descending, Ascending))

我试过SortByColumns(Filter(EquipmentInventory.ItemType == "Laptop", StartsWith(Barcode, BarcodeScanner1.Value)), "Title", If(SortDescending1, Descending, Ascending))

还有

SortByColumns(Search([@AssetType], BrowseScreen_SearchInput.Text in AssetType && AssetType.Value = "Laptops", "AssetType", If(SortDescending1, Descending, Ascending))

尝试过滤数据源以仅显示笔记本电脑,但我收到无效参数错误。

一旦我可以让它工作,预期的结果将是在每个屏幕上都有一个过滤器,在笔记本电脑屏幕上显示笔记本电脑等。

我希望每个屏幕都显示其资产的 BrowseGallery,然后允许用户仍然基于条形码进行搜索。

非常感谢任何帮助!

【问题讨论】:

    标签: sharepoint sharepoint-online powerapps sharepoint-list powerapps-formula


    【解决方案1】:

    对于过滤器公式尝试类似:Filter(EquipmentInventory, ItemType = 'Name of screen 1 item type selector'.Selected.ItemType.Value)

    您看到的错误是因为公式试图比较两个不同类型的项目。为了测试这一点,我通常喜欢在我的屏幕上添加一个标签并测试比较的每个部分,以确保这些值是我所期望的。例如,将标签文本设置为 ItemType 和 'Name of screen 1 item type selector'.Selected.ItemType.Value 部分,并确保它们显示相同的值。

    一旦过滤器工作,SortByColumns 部分也应该工作!

    【讨论】:

    • 感谢艾米丽的帮助!您能否澄清一下在这种情况下 ItemType 选择器应该是什么?我试过Filter(EquipmentInventory, AssetType = "Laptops".Selected.AssetType.Value)
    • 我所说的项目类型选择器是指您将用户输入从 Screen1“传递”到 Screen2 的任何方式。您可以在 Screen1 上有一个显示项目类型的库,他们通过单击箭头图标选择一个,然后您将在过滤器公式中使用 Gallery1.Selected.ItemType.Value。或者你可以有单选按钮和一个选择按钮来启动 Screen2,然后你会使用 Radio1.Selected.Value。或者您可以拥有三个按钮(每种项目类型一个)并将新变量设置为“笔记本电脑”、“打印机”或“服务器”,然后在公式中使用该变量。这真的取决于你!
    猜你喜欢
    • 1970-01-01
    • 2020-12-07
    • 2011-01-11
    • 1970-01-01
    • 1970-01-01
    • 2023-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多