根据“共享点”列过滤用于BrowseGallery的PowerApps数据源

时间:2019-09-11 11:01:49

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

我正在设计基于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,然后允许用户仍基于条形码进行搜索。

任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:0)

对于“过滤器”公式,请尝试以下操作:Filter(EquipmentInventory, ItemType = 'Name of screen 1 item type selector'.Selected.ItemType.Value)

您看到的错误是因为公式试图比较具有不同类型的两个项目。为了测试这一点,我通常喜欢在屏幕上添加标签并测试比较的每个部分,以确保值符合我的期望。例如,将标签文本设置为ItemType和“屏幕1项目类型选择器的名称” .Selected.ItemType.Value部分,并确保它们显示相同的值。

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