Create a Tab List Powered Filtered Gallery in Power Apps
Simplify data navigation by replacing dropdowns with a tab list that lets users instantly switch between filtered views of your gallery. This tutorial walks through building a ticket tracking app.
When building a canvas app that displays a list of records, it’s common to offer users a way to narrow down the information they see. While a dropdown filter works, a tab list control (part of the modern controls family) provides a cleaner, faster selection experience when you have only a handful of options. In this article, you’ll create a support ticket viewer that uses a tab list to filter by ticket status.
Scenario
Your team handles incoming support requests. Each ticket has a status: New, Assigned, or Resolved. You want a single-screen app where users can tap a tab to see only tickets in that status, or see all tickets at once.
Create the SharePoint List
Start by creating a SharePoint list named Support Tickets with these columns:
Title(Single line of text)Status(Choice: New, Assigned, Resolved)Priority(Choice: High, Medium, Low)Created Date(Date only)
Add a few sample rows to work with.
| Title | Status | Priority | Created Date |
|---|---|---|---|
| Login page not loading | New | High | 2026-05-01 |
| Password reset link missing | Assigned | Medium | 2026-05-02 |
| Dashboard slow to render | Assigned | High | 2026-05-03 |
| Footer alignment issue | Resolved | Low | 2026-05-04 |
| replace with your own data | … | … | … |
Add a Tab List Control
Open make.powerapps.com, create a blank canvas app, and insert a modern tab list control (Insert → Modern → Tab list).
Set the following properties:
-
Items
powerfxTab list Items["All", "New", "Assigned", "Resolved"]
-
DefaultSelectedItems
powerfxTab list DefaultSelectedItems["All"]
This ensures the “All” tab is selected when the screen loads.
Connect the Gallery to the List
Add a blank vertical gallery. Connect it to the Support Tickets SharePoint list. The gallery’s Items property initially shows the list name.
Map the columns to the gallery layout (use Title, Subtitle, and Body for a three-line layout):
- Primary text →
Title - Secondary text →
Priority - Third line →
Status
'Support Tickets'
Format the Display
To make priority levels more visible, color the priority label with a Switch formula.
Select the label that displays the priority and set its Color property:
Switch( ThisItem.Priority.Value, "High", Color.Red, "Medium", Color.Orange, "Low", Color.Gray, Color.Black )
Filter the Gallery with the Tab List
Replace the gallery’s Items property with a Filter expression that respects the selected tab.
Filter(
'Support Tickets',
Or(
Status.Value = tab_TicketStatus.Selected.Value,
tab_TicketStatus.Selected.Value = "All"
)
)Replace tab_TicketStatus with the actual name of your tab list control.
How it works: The Filter checks two conditions:
- If the ticket’s status matches the selected tab’s value, the row is included.
- If the selected tab is “All,” the
Orcondition evaluates totrueand every row is returned.
Reset the Gallery on Tab Change
When the user switches tabs, reset the gallery so that the top item becomes selected. Write this formula in the tab list’s OnChange property.
Reset(gal_TicketList)
Again, replace gal_TicketList with the actual name of your gallery control.
Test the App
Preview the app. Select each tab and confirm the gallery updates correctly. The first item should always be selected after a tab change.
The .Value suffix in the filter expression may cause a non‑delegable warning on large SharePoint lists. See the next section for a workaround.
Delegation and Performance
The Filter expression uses Status.Value. For small lists this works perfectly, but if your SharePoint list grows beyond 2 000 items, the .Value part may trigger a non‑delegable warning. To maintain delegation, rewrite the filter by comparing the choice column directly:
Filter(
'Support Tickets',
Or(
Status = tab_TicketStatus.Selected.Value,
tab_TicketStatus.Selected.Value = "All"
)
)Test this version carefully because the choice column’s internal representation may differ from the display text. For extremely large datasets, consider using a Dataverse table or pre‑filtering data with a collection.
Common Mistakes to Avoid
- Missing DefaultSelectedItems – Without this property the tab list may start with no selection, causing the gallery to show no records until the user taps a tab.
- Using wrong control name – The
FilterandResetformulas depend on exact control names. Verify there are no typos. - Gallery not resetting – If you omit the
OnChangeformula, switching tabs may leave the gallery scrolled to a previous item. - Choice
.Valuein other formulas – When reading the selected status in other parts of the app (e.g., updating a record), always use.Valueto obtain the text string.
Final Recommendation
The tab list control is a lightweight and visually appealing alternative to dropdown filters when you have a limited number of options. It works especially well for status‑based filters where users need to switch views frequently. Combine it with a well‑structured SharePoint list and proper delegation considerations, and you’ll have a responsive, user‑friendly app.
For more advanced scenarios, you can extend the same pattern by binding the tab list to a collection, adding icons to tabs, or including a second tab list for another filter dimension.
References
- Original article: Power Apps: Filter Gallery With A Tab List by Matthew Devaney.
- Power Apps tab list modern controls: Microsoft Learn – Tab list control in Power Apps (preview) (link subject to change).
- Delegation in Power Apps: Microsoft Learn – Delegation overview.
Learn how small coding practices—like using descriptive names, flattening conditions, and simplifying logic—can make your apps easier to update and less error-prone.
Move past the gallery and discover the hidden patterns for validation, navigation, and smart submission handling in your data entry forms.
PowerShell unlocks admin capabilities that the Power Platform admin center simply doesn’t offer—from recovering deleted apps to blocking trial licenses. Here’s how to wield them safely.