Skip to main content
net9.0net9.0-android35.0net9.0-ios18.0net9.0-maccatalyst18.0net9.0-windows10.0.19041net10.0

This package provides the functionality to utilize the features of Syncfusion® Maui DataGrid control and more.

Published
Oct 13, 2026
6d ago
Total Downloads
713.3K
713,289

Install

dotnet add package Syncfusion.Maui.DataGrid --version 35.1.40
ProductVersions
.NET
net10.0net10.0-android36.0net10.0-ios26.0net10.0-maccatalyst26.0net10.0-windows10.0.19041net9.0net9.0-android35.0net9.0-ios18.0net9.0-maccatalyst18.0net9.0-windows10.0.19041

README

Syncfusion .NET MAUI DataGrid (SfDataGrid)

The Syncfusion .NET MAUI DataGrid displays and edits tabular data with a high-performance, virtualized control. It is designed for smooth scrolling and responsive interactions, even with large data sets, and helps you build rich data views for Android, iOS, Mac Catalyst, and Windows from a single codebase.

Documentation · Getting Started · API Reference · Demos on GitHub · Product Page · Release Notes

.NET MAUI DataGrid


Using this package with an AI coding agent

Before generating Syncfusion code, ask your AI coding agent to run the Syncfusion setup using the following prompt:

Set up this project for Syncfusion before generating code. Fetch and follow the official instructions at https://ai.syncfusion.com, then report the detected platform, installed skill pack, MCP status, and any required licensing action.

The setup detects your project’s platform and loads the appropriate Syncfusion skill pack. No Syncfusion account or MCP key is required to install or read Syncfusion agent skills.

Platform reference: https://ai.syncfusion.com/maui/llms.txt

Key features

Data binding and columns

  • Bind to any IEnumerable collection, including ObservableCollection<T> and DataTable.
  • Columns are generated automatically, or you can define them yourself.
  • Built-in column types: text, numeric, date, check box, combo box, image, template, and unbound columns.
  • Resize, reorder, and hide columns, with flexible width modes such as Auto and Fill.

Data operations

  • Sorting: single-column, multi-column, and tri-state sorting.
  • Filtering: Excel-like filter UI, or filtering in code with predicates.
  • Grouping: group by one or more columns, with expand and collapse.
  • Summaries: table, group, and caption summaries using built-in or custom aggregates.

Interaction

  • Editing: edit cells inline with validation support.
  • Selection: row or cell selection, in single or multiple mode, with keyboard navigation.
  • Swiping: swipe rows to show custom actions such as delete or edit.
  • Drag and drop: reorder rows and columns.
  • Pull to refresh and load more on demand.

Performance

  • UI virtualization for fast scrolling through large data sets.
  • Paging through the SfDataPager control.
  • Efficient updates when the underlying data changes.

Look and feel

  • Freeze rows and columns.
  • Stacked (multi-level) headers.
  • Row header, auto-fit row height, and custom row styles.
  • Full styling support with built-in light and dark themes.

More

  • Export to Excel and PDF (with the Syncfusion.Maui.DataGridExport package).
  • Right-to-left (RTL) support, localization, and accessibility.

Supported platforms and target frameworks

Platform Target framework
Android net9.0-android, net10.0-android
iOS net9.0-ios, net10.0-ios
Mac Catalyst net9.0-maccatalyst, net10.0-maccatalyst
Windows net9.0-windows10.0.19041, net10.0-windows10.0.19041

Minimum OS versions follow the .NET MAUI supported platforms.


Installation

.NET CLI

dotnet add package Syncfusion.Maui.DataGrid

Package Manager Console

Install-Package Syncfusion.Maui.DataGrid

Getting started

1. Register the Syncfusion core handler

In MauiProgram.cs, call ConfigureSyncfusionCore():

using Syncfusion.Maui.Core.Hosting;

public static class MauiProgram
{
    public static MauiApp CreateMauiApp()
    {
        var builder = MauiApp.CreateBuilder();
        builder
            .UseMauiApp<App>()
            .ConfigureSyncfusionCore();

        return builder.Build();
    }
}

2. Create a model and a ViewModel

using System.Collections.ObjectModel;

public class OrderInfo
{
    public int OrderID { get; set; }
    public string CustomerName { get; set; }
    public string Country { get; set; }
}

public class OrderViewModel
{
    public ObservableCollection<OrderInfo> Orders { get; set; }

    public OrderViewModel()
    {
        Orders = new ObservableCollection<OrderInfo>
        {
            new OrderInfo { OrderID = 1001, CustomerName = "Maria Anders", Country = "Germany" },
            new OrderInfo { OrderID = 1002, CustomerName = "Ana Trujillo", Country = "Mexico" },
            new OrderInfo { OrderID = 1003, CustomerName = "Thomas Hardy", Country = "UK" }
        };
    }
}

3. Add SfDataGrid to your page

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:syncfusion="clr-namespace:Syncfusion.Maui.DataGrid;assembly=Syncfusion.Maui.DataGrid"
             xmlns:local="clr-namespace:YourAppNamespace"
             x:Class="YourAppNamespace.MainPage">

    <ContentPage.BindingContext>
        <local:OrderViewModel />
    </ContentPage.BindingContext>

    <syncfusion:SfDataGrid ItemsSource="{Binding Orders}" />

</ContentPage>

Run the app. The grid generates a column for each public property of OrderInfo.


Common scenarios

Define columns manually

<syncfusion:SfDataGrid ItemsSource="{Binding Orders}"
                       AutoGenerateColumnsMode="None"
                       ColumnWidthMode="Fill">
    <syncfusion:SfDataGrid.Columns>
        <syncfusion:DataGridNumericColumn MappingName="OrderID" HeaderText="Order ID" Format="0" />
        <syncfusion:DataGridTextColumn    MappingName="CustomerName" HeaderText="Customer" />
        <syncfusion:DataGridTextColumn    MappingName="Country" />
        <syncfusion:DataGridNumericColumn MappingName="Freight" Format="C" />
        <syncfusion:DataGridDateColumn    MappingName="OrderDate" HeaderText="Order Date" Format="d" />
    </syncfusion:SfDataGrid.Columns>
</syncfusion:SfDataGrid>

Enable sorting, filtering, and editing

<syncfusion:SfDataGrid ItemsSource="{Binding Orders}"
                       SortingMode="Multiple"
                       AllowFiltering="True"
                       AllowEditing="True"
                       SelectionMode="Single"
                       NavigationMode="Cell" />

Group data by a column

<syncfusion:SfDataGrid ItemsSource="{Binding Orders}">
    <syncfusion:SfDataGrid.GroupColumnDescriptions>
        <syncfusion:GroupColumnDescription ColumnName="Country" />
    </syncfusion:SfDataGrid.GroupColumnDescriptions>
</syncfusion:SfDataGrid>

For more features, see the DataGrid documentation.


Dependencies

Installing this package also installs the following packages:

  • Microsoft.Maui.Controls
  • Syncfusion.Maui.Core
  • Syncfusion.Maui.Data
  • Syncfusion.Maui.DataSource
  • Syncfusion.Maui.GridCommon
  • Syncfusion.Maui.Buttons
  • Syncfusion.Maui.Inputs
  • Syncfusion.Maui.ListView
  • Syncfusion.Maui.Picker
  • Syncfusion.Maui.Popup
  • Syncfusion.Maui.PullToRefresh
  • Syncfusion.Maui.Sliders
  • Syncfusion.Maui.DataPager

Licensing

This is a commercial product and requires a valid license. You have three options:

Register your license key

Register the key in App.xaml.cs before the app is built:

Syncfusion.Licensing.SyncfusionLicenseProvider.RegisterLicense("YOUR_LICENSE_KEY");

For details, see Licensing overview. Use of this package is subject to the Syncfusion EULA.


Support and feedback


About Syncfusion

Founded in 2001 and headquartered in Research Triangle Park, N.C., Syncfusion has more than 26,000+ customers and more than 1 million users, including large financial institutions, Fortune 500 companies, and global IT consultancies.

Today, we provide 1600+ components and frameworks for web (Blazor, ASP.NET Core, ASP.NET MVC, ASP.NET WebForms, JavaScript, Angular, React, Vue, and Flutter), mobile (.NET MAUI, Xamarin, Flutter, UWP, and JavaScript), and desktop development (WinForms, WPF, WinUI, Flutter and UWP). We provide ready-to-deploy enterprise software for dashboards, reports, data integration, and big data processing. Many customers have saved millions in licensing fees by deploying our software.

[email protected] | www.syncfusion.com | Toll Free: 1-888-9 DOTNET

Changes from Previous Version

No structural changes between v35.1.39 and v35.1.40.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 10 target frameworks; confirm the exact target used by your application.The published metadata declares 130 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.