Building business applications in Power Apps Canvas Apps often involves displaying and managing large amounts of data. Traditionally, developers have relied on classic controls such as Gallery, Data Table, Forms, and Buttons to build these experiences.
While these controls are fully functional, creating a modern and responsive user interface often requires significant customization. Developers frequently spend additional time configuring layouts, aligning controls, writing formulas, and applying custom styling to achieve a polished user experience.
To simplify app development, Microsoft introduced Modern Controls, which provide a Fluent UI experience with improved accessibility, responsive layouts, and a consistent design language across applications.
One of the most valuable additions is the Modern Data Grid, which makes displaying business data easier while significantly reducing development effort.
Why Choose the Modern Data Grid?
The Modern Data Grid offers several advantages over traditional approaches:
- Fluent UI design that matches Microsoft 365 applications
- Responsive layout with minimal configuration
- Multi-row selection
- Automatic row selectors
- Built-in sorting
- Built-in search
- Column sorting and resizing
- Better accessibility
- Cleaner and more maintainable apps
- Less custom Power Fx
Prerequisites
Before getting started, make sure Modern Controls are enabled in your Canvas App.
Navigate to:
Settings → Updates → Enable Modern controls and themes

Real-World Scenario
Let’s build a simple Account Management Canvas App.
The app displays a list of customer accounts with the following information:
- Account Name
- Account Number
- Main Phone
- City
- Status
We’ll first build the application using classic controls and then modernize it using Modern Controls.
Displaying Data Before Modern Controls
Option 1 – Gallery
The Gallery control has always been a popular choice for displaying business data because it offers complete flexibility over the layout.
For our Account Management app, the gallery displays:
| Account Name Main Phone City Status |
Although the Gallery works well, creating a table-like experience requires considerable manual effort.
Developers typically need to:
- Create column headers manually
- Align every label with its corresponding header
- Configure row spacing
- Add alternating row colors
- Implement sorting and filtering
- Handle responsive layouts
- Implement filtering
- Implement sorting
For example, sorting the accounts alphabetically requires a formula similar to:
| Sort( |
| Accounts, |
| ‘Account Name’ |
| ) |
As the application grows, maintaining this layout becomes increasingly difficult.
Note: A Gallery does not automatically generate column headers. Developers must manually create and align each header label to match the data displayed inside the gallery.

Option 2 – Data Table
Another common approach is the Data Table control.
Unlike the Gallery, it automatically displays data in rows and columns.

Although it provides a tabular layout, it comes with several limitations:
- Limited styling options
- Limited customization
- Doesn’t fully match Fluent UI
- Limited interaction
- Fewer built-in configurable behaviors
- Less responsive than Modern Controls
While the Data Table improves the presentation of data, developers often find it restrictive when designing modern business applications.
A Better Approach – Modern Data Grid
The Modern Data Grid combines the structured layout of a table with the Fluent UI experience expected in modern Microsoft applications.
Simply insert:
Insert → Modern → Data Grid
Connect it to the Accounts table and choose the required columns.

Immediately you’ll notice:
- Fluent UI styling
- Better spacing
- Responsive layout
- Built-in search
- Built-in sorting
- Multi-row selection
- Automatic column headers
- Professional appearance
The result closely resembles the experience users already know from Microsoft Lists and Dynamics 365, making the application more intuitive and visually appealing.
Built-in Features That Save Development Time
Beyond its modern appearance, the Modern Data Grid includes several built-in capabilities that developers would otherwise need to implement manually when using classic controls like a Gallery.
The following properties can be enabled directly from the Properties pane without writing additional Power Fx formulas.

These include:
- Searchable
- Sortable
- MultiSelect
- Show Selector
- Show Headers
- Required
These capabilities significantly reduce development effort while providing a familiar Microsoft 365 experience.
Data Table vs Modern Data Grid
Built-in Search
Data Table
If users need to search records, developers must create:
- A Text Input
- A filtering formula
- Maintain the search logic
Example:
Search(
Accounts,
txtSearch.Text,
‘Account Name’
)
or
Filter(
Accounts,
StartsWith(
‘Account Name’,
txtSearch.Text
)
)

Modern Data Grid
Simply enable the Searchable property.
A search box is automatically displayed above the grid, allowing users to quickly search records.

Sorting
Data Table
Sorting typically requires additional formulas or custom implementation depending on the scenario.
Modern Data Grid
Enable the Sortable property.
Users can sort records directly by clicking the column headers.
No additional implementation is required.
Multi-Row Selection
Data Table
Selecting multiple records requires custom logic or additional controls, depending on the application’s requirements.
Modern Data Grid
Enable MultiSelect.
Users can immediately select multiple rows.
Required Selection
Data Table
Developers must manually validate whether a row has been selected before performing an action.
Modern Data Grid
Enable Required.
The control can enforce that a record is selected before continuing.
Best Practices
- Use the Modern Data Grid for displaying structured business data from Dataverse, SharePoint, or SQL, especially when you need features like search, sorting, and multi-row selection.
- Use a Data Table for simple read-only tabular data where minimal customization is required.
- Use a Gallery when records require a highly customized layout, such as cards, images, or dashboards.
- Prefer Modern Controls for new Canvas Apps to provide a consistent Fluent UI experience with less development effort.
forum Discussion (0 comments)
Join the Discussion
Login to share rich-text comments and reply to other members.
No comments yet. Be the first to share your thoughts!