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.
| Feature | Data table (classic) | Gallery | Data grid (modern) |
|---|---|---|---|
| Insert pane (Oct 2026) | Not listed; paste YAML or keep an existing one | Recommended: Vertical gallery | Recommended: Data grid |
| Layout | Rows with column headers | A template you design, repeated per record | Rows with column headers |
| First setup | Empty until you pick fields | Shows rows at once | One column control per field |
| Selection | Exactly one row, first row at start | One Selected item; checkboxes you add for more | Built-in multi-select (SelectedItems), nothing selected at start |
| Per-row colors | No (no Color on a column) | Yes, any property with ThisItem | No per-column text styling or alternating colors |
| Edit data in rows | No, read-only | Yes, with controls in the template | Columns: Text, Number, Phone, Email, URL, Button |
| Sort by heading | Not built in | Your own formula | Built in (Sortable) |
| Images | Not supported | Image control in the template | Image column property |
| Empty result | NoDataText message | Blank; add your own label | Not 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.

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.

Choose Create from blank to start an empty canvas app.

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

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.

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

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

- Save the app first (Ctrl+S), so the version you can restore still has the classic control.
- Select the data table and select Update in the Properties pane banner.
- Check the screen in Preview: the blue header and the selected first row are gone.
- 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.

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.

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.

Hey! I’m Bijay Kumar, founder of SPGuides.com and a Microsoft Business Applications MVP (Power Automate, Power Apps). I launched this site in 2020 because I truly enjoy working with SharePoint, Power Platform, and SharePoint Framework (SPFx), and wanted to share that passion through step-by-step tutorials, guides, and training videos. My mission is to help you learn these technologies so you can utilize SharePoint, enhance productivity, and potentially build business solutions along the way.