I have created a set of buttons to filter the gallery, but the problem is whenever clicked it keeps getting stacked on top of each filter.
Items - Gallery
SortByColumns( Filter( [@'Pricing Deliveries'], StartsWith( 'Engagement Name', TextSearchBox1.Text ), If( FilterByStatus_NotYetStarted = true, 'Delivery Status'.Value = "1. Not yet started", FilterByStatus_Preparation = true, 'Delivery Status'.Value = "2. In Progress - Preparation", FilterByStatus_InReview = true, 'Delivery Status'.Value = "3. In Progress - Review", FilterByStatus_Completed = true, 'Delivery Status'.Value = "Completed - Delivered", FilterByStatus_Cancelled = true, 'Delivery Status'.Value = "Cancelled", 'Delivery Status'.Value <> "" ), 'Created By'.Email = User().Email ), "Title", If( SortDescending1, Descending, Ascending ) )
OnSelect - Button
UpdateContext({FilterByStatus_NotYetStarted:!FilterByStatus_NotYetStarted})
Solved! Go to Solution.
Hi @danielle365 ,
The issue is that you are using different variables for each status. Please consider changing your filter to using a single variable only:
SortByColumns(
Filter(
[@'Pricing Deliveries'],
StartsWith( 'Engagement Name', TextSearchBox1.Text ),
If(
IsBlank(FilterByStatus),
true,
'Delivery Status'.Value = FilterByStatus
),
'Created By'.Email = User().Email
),
"Title",
If(
SortDescending1,
Descending,
Ascending
)
)
The value of the single variable (FilterByStatus) can then be set using the OnSelect property of the respective buttons:
Set(FilterByStatus,"1. Not yet started")
Set(FilterByStatus,"2. In Progress - Preparation")
Set(FilterByStatus,"3. In Progress - Review")
Set(FilterByStatus,"Completed - Delivered")
Set(FilterByStatus,"Cancelled")
Hi @danielle365 ,
The issue is that you are using different variables for each status. Please consider changing your filter to using a single variable only:
SortByColumns(
Filter(
[@'Pricing Deliveries'],
StartsWith( 'Engagement Name', TextSearchBox1.Text ),
If(
IsBlank(FilterByStatus),
true,
'Delivery Status'.Value = FilterByStatus
),
'Created By'.Email = User().Email
),
"Title",
If(
SortDescending1,
Descending,
Ascending
)
)
The value of the single variable (FilterByStatus) can then be set using the OnSelect property of the respective buttons:
Set(FilterByStatus,"1. Not yet started")
Set(FilterByStatus,"2. In Progress - Preparation")
Set(FilterByStatus,"3. In Progress - Review")
Set(FilterByStatus,"Completed - Delivered")
Set(FilterByStatus,"Cancelled")
Works like a charm, thank you so much! 🙂
User | Count |
---|---|
257 | |
110 | |
97 | |
52 | |
39 |