Live training: next batches coming soon. Join the waitlist:Waitlists open:Developer Training →Developer →Copilot Studio Training →Copilot Studio →

Power Apps Data Table vs Gallery: Tested Differences and When to Use Each

Start with what your users will do with the rows. If they only scan records and click one to see its details, a table-style control gets you there in minutes. If they need to check several rows, spot urgent items in red, or work with a control inside each row, use a gallery.

There’s a 2026 twist, though. Studio’s Insert pane no longer lists the classic Data table; it recommends the modern Data grid, and Update turns an old Data table into one. So my rule now is: pick the Data grid for read-mostly tables, and pick a gallery when each row needs its own controls or formatting.

In this tutorial, we’ll compare the Power Apps data table vs gallery on the same 620-item SharePoint list. You’ll see how each one handles selection, row colors, input controls, delegation and setup, plus what you gain and lose when you switch a Data table to a Data grid.

Power Apps Data Table vs Gallery at a Glance

Here’s the short version from my tests on one SharePoint list. I added the modern Data grid as a third column, because that’s what Studio now offers when you look for a table. For the setup basics of the classic control, see my guide on how to use the Power Apps data table.

FeatureData table (classic)GalleryData grid (modern)
Insert pane (Oct 2026)Not listed; paste YAML or keep an existing oneRecommended: Vertical galleryRecommended: Data grid
LayoutRows with column headersA template you design, repeated per recordRows with column headers
First setupEmpty until you pick fieldsShows rows at onceOne column control per field
SelectionExactly one row, first row at startOne Selected item; checkboxes you add for moreBuilt-in multi-select (SelectedItems), nothing selected at start
Per-row colorsNo (no Color on a column)Yes, any property with ThisItemNo per-column text styling or alternating colors
Edit data in rowsNo, read-onlyYes, with controls in the templateColumns: Text, Number, Phone, Email, URL, Button
Sort by headingNot built inYour own formulaBuilt in (Sortable)
ImagesNot supportedImage control in the templateImage column property
Empty resultNoDataText messageBlank; add your own labelNot tested

Build the Demo App Step by Step

Every test here runs on one list, so the differences come from the controls, not the data: the Service Requests list on my SPGuides site, with 620 items and the columns Title, Status, Priority, Requester and DueDate.

SharePoint list Service Requests with 620 items used for the data table vs gallery test

Titles run from Laptop replacement #1000 upward, and Priority is a choice column with High rows mixed in. That matters later: High rows are the ones we’ll try to color red, and the #15xx titles sit past row 500, which is where delegation bites.

Here’s how to build the same app. Sign in to make.powerapps.com and select Start with design on the Home page.

Power Apps maker portal Home page with Start with design highlighted

Choose Create from blank to start an empty canvas app.

Create from blank option for a new canvas app in Power Apps

Give the app a name and pick the Tablet format, which leaves room for two controls side by side.

Start with a blank canvas dialog with the Tablet layout selected

In Studio, open Add data, type SharePoint in the search box and pick the SharePoint connector. A data source is just the connection your app reads records from.

Add data pane in Power Apps Studio searching for the SharePoint connector

Paste your site URL (mine is /sites/SPGuides) and select Connect.

Connect to a SharePoint site dialog with the SPGuides site URL entered

Select Service Requests and select Connect again. The list now shows up under Data. If galleries are new to you, my walkthrough on using the gallery control in Power Apps covers the template basics.

Choose a list dialog with the Service Requests SharePoint list selected

Three Studio moves you’ll use below: select a control, pick a property in the dropdown to the left of the fx formula bar, then type the formula. Press F5 or the Play button (top right) to preview, or hold Alt and click in the editor. Ctrl+S saves the app. More beginner topics live in the Power Apps tutorials hub.

Adding Each Control: Why the Data Table Is Missing from Insert

This is the first difference most people hit in 2026. On the same screen, I opened Insert. The Recommended group lists Data grid and Vertical gallery, but there’s no classic Data table entry anymore.

Power Apps Insert pane Recommended group showing Data grid and Vertical gallery

Searching Insert for “table” doesn’t bring it back either. The only match under Layout is Table (Preview), the modern Table control, which Microsoft Learn says is pre-release and tells you to use the Data grid instead.

Insert pane search for table showing only the Table Preview control

The classic Data table still works in existing apps, and you can add one by pasting its YAML onto the screen. This is the minimal version I pasted for the test:

- dtRequests:
    Control: DataTable@1.0.1
    Properties:
      Items: |-
        ='Service Requests'

Now the setup gap. The gallery showed Service Requests rows right away with its template labels. The data table showed nothing but “There are no fields in this data table” until I opened Edit fields, picked Title, Status, Priority, Requester and DueDate, and selected Add.

Data table Edit fields pane with Title Status Priority Requester and DueDate checked

In return, the data table gives you column headers for free. A vertical gallery has none, so you build them with labels above it, the same trick I use for a horizontal scrollable gallery with headers.

Row Selection: One Row vs Many Checked Rows

Same Service Requests list, both controls side by side in Preview. I added two labels that show each control’s Selected row, using these formulas:

"Data table selected: " & dtRequests.Selected.Title
"Gallery selected: " & galRequests.Selected.Title

At start, both showed Laptop replacement #1000, the first row. A data table always has exactly one row selected, and you can’t select more. Clicking the second row changed it to Password reset #1005.

The gallery has a single Selected item too, but you can drop a checkbox into the template and count the checked rows with this label:

"Checked in gallery: " & CountRows(Filter(galRequests.AllItems, chkPick.Value))

With two rows checked, the label read Checked in gallery: 2, and the gallery’s Selected item was New hire setup #1002. The data table stayed on Password reset #1005, one row only.

Data table and gallery in Preview on the same list with two gallery rows checked

Important: selecting a checkbox inside a gallery row also makes that row the Selected item. If a form reads the gallery’s Selected record, it jumps to whichever row was checked last. For bulk actions, read the checked rows from AllItems, as in my guide to selecting multiple items in a Power Apps gallery.

Both controls can drive a form the same way: set the form’s Item property to dtRequests.Selected or galRequests.Selected. I use that pattern to show or hide a form based on the gallery selection.

Conditional Formatting: Can You Color a Data Table Row?

Same list again, and the task is simple: show High priority requests in red. In the gallery, I selected the title label, picked Color in the property dropdown and entered this:

If(ThisItem.Priority.Value = "High", Color.Red, Color.Black)

Password reset #1005 and New hire setup #1002 turned red right away, because every property in the template can read ThisItem. The data table next to it stayed black on every row.

Gallery title label Color formula making High priority requests red in Power Apps

So I looked for the same setting on the data table. I selected its Title column (Title_Column1), opened the Advanced tab and searched the properties for Color. The answer was No match found.

Data table column Advanced tab with a Color property search returning No match found

That matches Microsoft Learn: styling individual columns isn’t available. Colors apply to the whole table, the headings, and the hovered or selected row, never per row by value.

The gallery can also shade whole rows through TemplateFill. Mine highlights the selected row in blue and closed requests in gray, the same idea as setting a Power Apps gallery row color:

If(
    ThisItem.IsSelected, RGBA(222, 236, 249, 1),
    ThisItem.Status.Value = "Closed", RGBA(243, 242, 241, 1),
    RGBA(255, 255, 255, 1)
)

Editing, Input Controls and Images Inside Rows

Microsoft documents the data table as read-only. You can’t edit cells, show images, change row height or show fields from related tables. To change a record, you pair it with an edit form whose Item is the table’s Selected row.

A gallery is a container, so its template can hold labels, images, checkboxes, text inputs and buttons. My gallery on the same Service Requests list shows a status icon image in every row. To save edits made in rows, you patch the gallery items back to the list.

Galleries do have limits. These controls aren’t supported inside one: Display form, Edit form, PDF viewer, Power BI tile, Rich text editor, a scrollable screen and the web barcode scanner. You can nest a gallery inside a gallery, but only two levels deep.

Note: don’t give a ComboBox, Date picker, Slider or Toggle inside a gallery an OnChange rule that patches the gallery’s own data source. Microsoft warns it can cause a never-ending cycle of patching and reloading.

A data table can’t go inside a gallery or a form at all. For layout, the gallery also wins: vertical, horizontal or flexible height, plus WrapCount for several items per row.

Delegation, Empty Results and How Many Rows Load

Delegation means Power Apps hands the filter to SharePoint instead of downloading rows and filtering them itself. The control doesn’t change that; the formula does. On the same list, I set Items on both controls to a Search. For background, see my post on fixing Power Apps delegation warnings.

Search('Service Requests', "VPN access #15", Title)

Both showed the yellow delegation warning, and both came back empty, because Search only checked the first 500 rows and the #15xx titles sit past row 500. The data table displayed its NoDataText, “We didn’t find any data to show at this time”. The gallery was just blank.

Search formula on a data table and gallery showing delegation warnings and no rows

That blank gallery is a real usability gap: users can’t tell “no matches” from “still loading”, so add your own label for it. The 500 comes from the app’s data row limit, which I explain in the Power Apps 500 record limit guide. Then I switched both to a delegable formula:

Filter('Service Requests', StartsWith(Title, "VPN access #15"))

No warning this time, and both controls showed the same 8 rows, VPN access #1505 through #1589. The gallery’s AllItemsCount was 8, and both had VPN access #1505 selected.

StartsWith filter on both controls with no delegation warning and 8 matching rows

Row loading is different, too. On the full list, the gallery’s AllItemsCount started at 100 and rose to 200 after I scrolled past about row 100. I read it with this label (Learn notes AllItemsCount can be less than the real item count). For a search box that stays delegable, see how to search a Power Apps gallery.

"Gallery rows loaded (AllItemsCount): " & galRequests.AllItemsCount

One known issue didn’t show up for me. Learn says no data appears when you use FirstN in a data table’s Items, but this formula showed 5 rows (#1000, #1005, #1002, #1001, #1004) in Studio with no warning:

FirstN('Service Requests', 5)

Where the Modern Data Grid Fits: Sorting, Multi-Select and Search

Because Studio now steers you to the Data grid, I put one on the same Service Requests list with Searchable, Sortable, SelectMultiple and ShowSelector turned on. Learn lists Dataverse tables, collections and inline tables for Items, but SharePoint worked fine in my test. I counted checked rows with the CountRows function:

"Rows checked (SelectedItems): " & CountRows(dgRequests.SelectedItems)

Nothing is selected at start, unlike the data table. I clicked the Title header to sort A-Z (Badge access #1010 came first), then checked 4 rows, and the label showed SelectedItems 4.

Modern Data grid sorted by Title with four rows checked and SelectedItems showing 4

The built-in search box has a catch. Typing “VPN access #15” returned 0 rows and showed no delegation warning at all, while the Filter with StartsWith above found 8. Learn says search might not be delegable on every data source, and a warning might not appear.

Data grid search for VPN access #15 returning zero rows with no delegation warning

So on a SharePoint list over 500 items, I’d still filter Items with a delegable formula, just as for the gallery.

When to Use a Data Table Instead of a Gallery

Here’s how I decide on a new screen in 2026:

  • Read-only list with column headers, one row at a time: use the Data grid. Keep an existing classic Data table if it works and you rely on its styling.
  • Users check several rows for a bulk action: use the Data grid’s SelectedItems, or a gallery with checkboxes if you also need custom row layouts.
  • Rows need colors, icons or images by value: use a gallery. Neither table control styles a single row by its data.
  • Users edit values right in the row: use a gallery with inputs and Patch, or a table plus an edit form bound to Selected.
  • Mobile or card layout: use a gallery (vertical, horizontal or flexible height).

Whichever you pick, Items needs a delegable formula on a large SharePoint list. A gallery also needs a way to clear checkboxes after a bulk action; here’s how to reset check boxes in a Power Apps gallery.

How to Switch from a Data Table to a Data Grid

If an existing app has a classic Data table, Studio offers the upgrade itself. Select the data table and look at the top of the Properties pane: it’s labeled DATA TABLE Preview, with the banner “A new version of this control is available.” and an Update button.

Data table Properties pane with the new version available banner and Update button
  1. Save the app first (Ctrl+S), so the version you can restore still has the classic control.
  2. Select the data table and select Update in the Properties pane banner.
  3. Check the screen in Preview: the blue header and the selected first row are gone.
  4. Read the removed-properties list and rebuild anything you relied on.

Here’s the same table before and after the Update. The classic control had a blue header and a selected row; the Data grid has a white header and no row selected.

Before and after Update: classic Power Apps data table converted to a modern Data grid

Studio then shows “Your control was updated, but some properties aren’t supported on the new control and were removed.” In my test, 15 properties went, including Fill, HeadingFill, HeadingColor, NoDataText, SelectedFill and HoverFill.

Your control was updated message listing the 15 removed data table properties

Heads up: the screen-level banner “This screen has 1 controls that can be updated to newer versions” has an Update all button. Don’t click it on a screen where you want to keep the classic control.

So the deciding differences are selection, row formatting and setup: the table controls give you headers and a ready-made grid, while the gallery gives you any layout and per-row logic. Delegation depends on your Items formula, not on the control you pick.

If you’re building out the gallery side of your app next, these guides pick up from here:

Frequently Asked Questions

Why can’t I find the Data table control in Power Apps Studio?

In the October 2026 Studio, the Insert pane recommends Data grid and Vertical gallery, and a search for table only shows Table (Preview). Existing classic data tables still work and show an Update banner that converts them to a Data grid.

Can I sort a Power Apps data table by clicking a column header?

Not in the classic Data table; built-in sort and filter by heading isn’t available. Sort the Items formula with SortByColumns, or use the modern Data grid with Sortable set to true, which sorts when you click a header.

Can a Power Apps data table show images?

No. Showing images isn’t available in the classic Data table. Use a gallery with an Image control in its template, or the Data grid’s Image column property.

How do I export a gallery or data table to Excel in Power Apps?

Neither control has an export option in its property list, so you send the records somewhere else first. I walk through one approach in my guide on exporting data from a data table to Excel.

Which control is better for a large SharePoint list?

The control matters less than the Items formula: use delegable functions such as Filter with StartsWith. A gallery loads rows in batches as you scroll, and the Data grid control reference notes row virtualization for 2,000+ records.