Tutorials/Power Apps/Create a Tab List Powered Filtered Gallery in Power Apps
Power Appsintermediate

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.

NA
Narmer Abader
@narmer · Published June 3, 2026

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.

TitleStatusPriorityCreated Date
Login page not loadingNewHigh2026-05-01
Password reset link missingAssignedMedium2026-05-02
Dashboard slow to renderAssignedHigh2026-05-03
Footer alignment issueResolvedLow2026-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.

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
powerfxGallery Items (initial)
'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:

powerfxPriority label color
Switch(
  ThisItem.Priority.Value,
  "High", Color.Red,
  "Medium", Color.Orange,
  "Low", Color.Gray,
  Color.Black
)

Replace the gallery’s Items property with a Filter expression that respects the selected tab.

powerfxGallery Items with filter
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 Or condition evaluates to true and every row is returned.

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.

powerfxTab list OnChange
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.

Delegation Tip

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:

powerfxDelegable filter alternative
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 Filter and Reset formulas depend on exact control names. Verify there are no typos.
  • Gallery not resetting – If you omit the OnChange formula, switching tabs may leave the gallery scrolled to a previous item.
  • Choice .Value in other formulas – When reading the selected status in other parts of the app (e.g., updating a record), always use .Value to 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