2017-04-06 80 views
0

我的應用程序包含由零售商店連鎖店進行的產品列表。我希望每個商店的經理能夠在主頁上選擇他們的商店編號,然後查看他們商店中只有商品的圖庫列表。基於Screen1下拉選擇的篩選器庫,然後允許搜索

在屏幕1上我有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場不錯,但完全不考慮門店數量。

我會感謝一些幫助!

感謝, 託尼

回答

0

當您通過在瀏覽選項屏幕的變量,它所做的一切,它只是產生在屏幕供你使用一個變量,你是不是在使用它瀏覽屏幕。

首先,讓我們重命名變量,因此不會與列名衝突:

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

現在,讓我們更新的項目屬性功能爲您的畫廊所以它過濾通過StoreNum,就像這樣:

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

這應該過濾所有商店與正確的號碼,然後過濾搜索框中的產品。

如果要搜索數據庫中的其他字段,可以添加更多的篩選器命令。不過,我會建議爲每種類型的搜索添加一個新的屏幕,因爲這將簡化您的畫廊中的項目功能。

乾杯。

+0

首先謝謝100萬。你的建議有效,但我的問題是,它只是通過最初拉下的記錄進行篩選。 (500)所以結果是,如果我過濾商店111的畫廊是空白的,但如果我過濾商店218,這恰好是數據中的第一個商店,那麼它按預期工作。有沒有辦法解決這個問題,而不是爲所有29家商店創建單獨的CDS? –

+0

我現在意識到,即使我有29個單獨的CDS,我仍然只搜索前500個記錄。這根本不適合我。每家商店都有數千種產品。我希望有一個解決辦法。 –