0

我的应用程序包含由连锁零售店提供的产品列表。我希望每家商店的经理能够在主页上选择他们的商店编号,然后只查看他们商店中产品的图库列表。

在 Screen1 上,我有 dropdown1,它列出了商店编号,然后是 Button1,应该按下它以导航到 BrowseGallery1,并按下拉列表中选择的商店编号进行过滤。

我的数据源是一个名为 Products 的 CDS。有一个名为 StoreNum 的文本字段,其中包含商店编号,例如“111”、“115”等。

我尝试将以下内容放在 Button1 的 OnSelect 中:

Navigate(BrowseScreen1,ScreenTransition.Fade,{StoreNum: 
Dropdown1.Selected.Value}), but that didn't work. It navigates to the 
page, but doesn't filter by StoreNum.

在我弄清楚过滤器的情况后,我希望 BrowseScreen1 上的搜索框搜索图库中的一些字段,但仅限于该特定商店。我目前在 BrowseGallery1 的“项目”部分有这个:

Sort(If(IsBlank(TextSearchBox1.Text), Products, Filter(Products, TextSearchBox1.Text in Text(ItemNameWeight))), ItemNameWeight, Ascending)

这似乎可以搜索我的 ItemNameWeight 字段,但不考虑商店编号。

我会很感激一些帮助!

谢谢,托尼

4

1 回答 1

0

当您在 Navigate 选项中将变量传递到屏幕时,它所做的一切只是在该屏幕中创建一个变量供您使用,而不是在浏览屏幕中使用它。

首先让我们重命名变量,使其与列名不冲突:

Navigate(BrowseScreen1,ScreenTransition.Fade,{SelectedStore: Dropdown1.Selected.Value})

现在,让我们为您的画廊更新 Items 属性中的函数,使其按 StoreNum 过滤,如下所示:

Sort(Filter(If(IsBlank(TextSearchBox1.Text), Products, Filter(Products, TextSearchBox1.Text in Text(ItemNameWeight))), SelectedStore = StoreNum), ItemNameWeight, Ascending)

这应该过滤所有具有正确编号的商店,然后按搜索框中的产品进行过滤。

如果要在数据库中搜索更多字段,可以添加更多过滤器命令。但是,我建议为每种类型的搜索添加一个新屏幕,因为这将简化您画廊中的项目功能。

干杯。

于 2017-04-06T23:27:12.773 回答