在 Powerapps 中如何过滤包含所有选项的图库?
In Powerapps how to filter the gallery including an All option?
我的应用有 3 个标记为男性、女性和全部的按钮,它们将搜索条件传递给图库过滤器中使用的变量。
男性和女性都应该return。
我保留了向导添加的搜索文本框,因此用户可以搜索零售促销开始于 "Summer" && 类别 = "Male"。但用户还想搜索所有以 "Summer" 开头的促销,而不考虑 Male/Female 类别。我也在玩日期选择器。
此公式应用于 BrowseGallry 项目 属性:-
SortByColumns(Filter('Promotions', StartsWith(PromoTitle, TxtSearch.Text) && StartDate>=DatePick.SelectedDate && PromoCategory=searchTerm), "PromoTitle", If(SortDescending1, Descending, Ascending))
在我将类别更改为全部之前,上面的公式一直有效。我尝试通过 UpdateContext 将“”和“”输入到 searchTerm 变量中,但都不起作用。任何帮助将不胜感激。
您可以使用几种替代方法。
您可以使用另一个 StartsWith
条件,并将搜索词设置为 ""
。如果 PromoCategory
的可能值是 Male
和 Female
,那么这应该有效(因为所有 "starts with" 都是空字符串):
SortByColumns(
Filter(
'Promotions',
StartsWith(PromoTitle, TxtSearch.Text) &&
StartDate >= DatePick.SelectedDate &&
StartsWith(PromoCategory, searchTerm)),
"PromoTitle",
If(SortDescending1, Descending, Ascending))
另一种选择是使用 If
条件,这样如果搜索词为空,则
SortByColumns(
Filter(
'Promotions',
StartsWith(PromoTitle, TxtSearch.Text) &&
StartDate >= DatePick.SelectedDate &&
If(searchTerm = "", true, PromoCategory = searchTerm)),
"PromoTitle",
If(SortDescending1, Descending, Ascending))
希望对您有所帮助!
我的应用有 3 个标记为男性、女性和全部的按钮,它们将搜索条件传递给图库过滤器中使用的变量。
男性和女性都应该return。
我保留了向导添加的搜索文本框,因此用户可以搜索零售促销开始于 "Summer" && 类别 = "Male"。但用户还想搜索所有以 "Summer" 开头的促销,而不考虑 Male/Female 类别。我也在玩日期选择器。
此公式应用于 BrowseGallry 项目 属性:- SortByColumns(Filter('Promotions', StartsWith(PromoTitle, TxtSearch.Text) && StartDate>=DatePick.SelectedDate && PromoCategory=searchTerm), "PromoTitle", If(SortDescending1, Descending, Ascending))
在我将类别更改为全部之前,上面的公式一直有效。我尝试通过 UpdateContext 将“”和“”输入到 searchTerm 变量中,但都不起作用。任何帮助将不胜感激。
您可以使用几种替代方法。
您可以使用另一个 StartsWith
条件,并将搜索词设置为 ""
。如果 PromoCategory
的可能值是 Male
和 Female
,那么这应该有效(因为所有 "starts with" 都是空字符串):
SortByColumns(
Filter(
'Promotions',
StartsWith(PromoTitle, TxtSearch.Text) &&
StartDate >= DatePick.SelectedDate &&
StartsWith(PromoCategory, searchTerm)),
"PromoTitle",
If(SortDescending1, Descending, Ascending))
另一种选择是使用 If
条件,这样如果搜索词为空,则
SortByColumns(
Filter(
'Promotions',
StartsWith(PromoTitle, TxtSearch.Text) &&
StartDate >= DatePick.SelectedDate &&
If(searchTerm = "", true, PromoCategory = searchTerm)),
"PromoTitle",
If(SortDescending1, Descending, Ascending))
希望对您有所帮助!