Implementing .NET MAUI DataGrid
A comprehensive skill for implementing and customizing the Syncfusion .NET MAUI DataGrid (SfDataGrid) control. The DataGrid displays and manipulates data in a tabular format with support for columns, editing, sorting, filtering, grouping, summaries, paging, and export features.
When to Use This Skill
Use this skill when you need to:
- Display tabular data in a .NET MAUI application
- Bind data sources (IEnumerable, ObservableCollection, DataTable) to a grid
- Configure columns (auto-generated or manual)
- Implement cell editing and validation
- Add sorting, filtering, or searching functionality
- Group data and display summaries/aggregates
- Implement paging or incremental loading
- Enable row operations (drag-drop, swipe, add/delete)
- Export grid data to Excel or PDF
- Customize grid appearance and behavior
- Optimize performance for large datasets
- Implement master-detail views or custom row templates
Component Overview
SfDataGrid is a high-performance data grid control for .NET MAUI that provides:
Core Features:
- Multiple data binding options (IEnumerable, DataTable, dynamic objects)
- Auto-generated or manually defined columns
- 8+ column types (Text, Numeric, Date, Checkbox, Image, ComboBox, Picker, Template)
- In-cell editing with validation
- Multi-column sorting and filtering
- Interactive grouping with summaries
- Selection modes (Single, Multiple, None)
- Paging and data virtualization
- Excel and PDF export
- Advanced views (Master-Details, Record Templates)
NuGet Package: Syncfusion.Maui.DataGrid
Documentation and Navigation Guide
Getting Started & Data Binding
📄 Read: references/getting-started.md
- Installation and NuGet package setup
- Handler registration in MauiProgram.cs
- Basic DataGrid implementation (XAML & C#)
- Creating data models and ViewModels
- Binding with IEnumerable and ObservableCollection
- Binding with DataTable and dynamic objects
- Initial configuration and first steps
Columns & Column Configuration
📄 Read: references/columns.md
- Auto-generating columns (AutoGenerateColumnsMode)
- Manually defining columns
- Column types (Text, Numeric, Date, Checkbox, Image, ComboBox, Picker, Template)
- Column properties (MappingName, HeaderText, Format, Width)
- Column sizing and width options
- Column visibility and ordering
- AutoGenerateColumnsMode options (None, Reset, ResetAll, RetainOld)
Column Operations
📄 Read: references/column-operations.md
- Column resizing (manual and auto-fit)
- Column drag and drop (reordering)
- Stacked headers (multi-level column headers)
- Unbound columns (calculated/expression columns)
- Freeze panes (frozen columns)
- Column customization and events
Cell Editing
📄 Read: references/editing.md
- Enabling editing (AllowEditing, NavigationMode, SelectionMode)
- Column-level editing control
- Edit modes and triggers
- Cell editing events (BeginEdit, EndEdit, CellValueChanged)
- Programmatic editing
- Enter key and Tab navigation during editing
Data Validation
📄 Read: references/data-validation.md
- Cell value validation
- Row-level validation
- Custom validation logic
- Validation events
- Error handling and display
- IDataErrorInfo support
Sorting & Filtering
📄 Read: references/sorting-filtering.md
- Single and multi-column sorting
- Custom sorting logic
- Programmatic sorting
- Sort icons and UI customization
- Filtering basics and filter types
- Filter row implementation
- Programmatic filtering
- Custom filter predicates
Searching
📄 Read: references/searching.md
- Search functionality setup
- Text search and highlighting
- Case sensitivity options
- Search navigation (next/previous)
- Programmatic search control
Grouping & Summaries
📄 Read: references/grouping-summaries.md
- Data grouping (single and multi-column)
- Group expand/collapse behavior
- Custom grouping logic
- Group header customization
- Summary rows (Table, Group, Caption summaries)
- Built-in aggregate functions (Sum, Average, Count, Min, Max)
- Custom summary calculations
- Summary display formatting
Selection & Navigation
📄 Read: references/selection.md
- Selection modes (Single, Multiple, SingleDeselect, None)
- Row and cell selection
- Selection events (SelectionChanging, SelectionChanged)
- Programmatic selection
- Current cell vs selected items
- Keyboard navigation (Windows platform)
Paging & Data Virtualization
📄 Read: references/paging-virtualization.md
- Paging setup and configuration
- Page size and page count
- Page navigation controls
- Custom paging UI
- Load More (incremental loading)
- Pull to Refresh
- Data virtualization for performance
- Large dataset handling
Row Operations
📄 Read: references/row-operations.md
- Row height customization
- Auto row height (QueryRowHeight event)
- Row drag and drop
- Row swiping actions
- Adding new rows programmatically
- Deleting rows
- Unbound rows (additional summary rows at top/bottom)
- Row-level events
Exporting & Clipboard
📄 Read: references/exporting.md
- Export to Excel functionality
- Excel export customization (columns, rows, styling)
- Excel export options and events
- Export to PDF functionality
- PDF export customization
- Clipboard operations (copy/paste)
- Custom clipboard formats
Advanced Features & Views
📄 Read: references/advanced-features.md
- Master-Details View (hierarchical/relational data)
- Record Template View (custom row layouts)
- Empty view customization
- Context menu implementation
- Tooltips for cells
- Merged cells
- Serialization (save/load grid state)
- Conditional styling by data
Styling & Customization
📄 Read: references/styling-customization.md
- Grid styling basics
- Cell styling (CellStyle)
- Conditional cell styling
- Row styling and alternating row colors
- Header styling
- Theme customization
- Custom cell templates
- Liquid glass effect
Performance & Events
📄 Read: references/performance-events.md
- Performance optimization techniques
- Large dataset best practices
- Memory management strategies
- Grid events overview
- Common event scenarios
- Event handling patterns
- Performance monitoring
Localization
📄 Read: references/localization.md
- Localization setup
- Multi-language support
- RTL (Right-to-Left) support
- Scrolling modes and optimization
1---
2name: syncfusion-maui-datagrid
3description: Implements and customize Syncfusion .NET MAUI DataGrid (SfDataGrid) for displaying tabular data. Use when working with MAUI data grids, SfDataGrid, tabular data display, data binding to grids, or column configuration. Covers editing cells, sorting, filtering, grouping, paging, exporting to Excel/PDF, row operations, selection, and summaries.
4metadata:
5 author: "Syncfusion Inc"
6 version: "34.1.29"
7---
8
9# Implementing .NET MAUI DataGrid
10
11A comprehensive skill for implementing and customizing the Syncfusion .NET MAUI DataGrid (SfDataGrid) control. The DataGrid displays and manipulates data in a tabular format with support for columns, editing, sorting, filtering, grouping, summaries, paging, and export features.
12
13## When to Use This Skill
14
15Use this skill when you need to:
16- Display tabular data in a .NET MAUI application
17- Bind data sources (IEnumerable, ObservableCollection, DataTable) to a grid
18- Configure columns (auto-generated or manual)
19- Implement cell editing and validation
20- Add sorting, filtering, or searching functionality
21- Group data and display summaries/aggregates
22- Implement paging or incremental loading
23- Enable row operations (drag-drop, swipe, add/delete)
24- Export grid data to Excel or PDF
25- Customize grid appearance and behavior
26- Optimize performance for large datasets
27- Implement master-detail views or custom row templates
28
29## Component Overview
30
31**SfDataGrid** is a high-performance data grid control for .NET MAUI that provides:
32
33**Core Features:**
34- Multiple data binding options (IEnumerable, DataTable, dynamic objects)
35- Auto-generated or manually defined columns
36- 8+ column types (Text, Numeric, Date, Checkbox, Image, ComboBox, Picker, Template)
37- In-cell editing with validation
38- Multi-column sorting and filtering
39- Interactive grouping with summaries
40- Selection modes (Single, Multiple, None)
41- Paging and data virtualization
42- Excel and PDF export
43- Advanced views (Master-Details, Record Templates)
44
45**NuGet Package:** `Syncfusion.Maui.DataGrid`
46
47## Documentation and Navigation Guide
48
49### Getting Started & Data Binding
50📄 **Read:** [references/getting-started.md](references/getting-started.md)
51- Installation and NuGet package setup
52- Handler registration in MauiProgram.cs
53- Basic DataGrid implementation (XAML & C#)
54- Creating data models and ViewModels
55- Binding with IEnumerable and ObservableCollection
56- Binding with DataTable and dynamic objects
57- Initial configuration and first steps
58
59### Columns & Column Configuration
60📄 **Read:** [references/columns.md](references/columns.md)
61- Auto-generating columns (AutoGenerateColumnsMode)
62- Manually defining columns
63- Column types (Text, Numeric, Date, Checkbox, Image, ComboBox, Picker, Template)
64- Column properties (MappingName, HeaderText, Format, Width)
65- Column sizing and width options
66- Column visibility and ordering
67- AutoGenerateColumnsMode options (None, Reset, ResetAll, RetainOld)
68
69### Column Operations
70📄 **Read:** [references/column-operations.md](references/column-operations.md)
71- Column resizing (manual and auto-fit)
72- Column drag and drop (reordering)
73- Stacked headers (multi-level column headers)
74- Unbound columns (calculated/expression columns)
75- Freeze panes (frozen columns)
76- Column customization and events
77
78### Cell Editing
79📄 **Read:** [references/editing.md](references/editing.md)
80- Enabling editing (AllowEditing, NavigationMode, SelectionMode)
81- Column-level editing control
82- Edit modes and triggers
83- Cell editing events (BeginEdit, EndEdit, CellValueChanged)
84- Programmatic editing
85- Enter key and Tab navigation during editing
86
87### Data Validation
88📄 **Read:** [references/data-validation.md](references/data-validation.md)
89- Cell value validation
90- Row-level validation
91- Custom validation logic
92- Validation events
93- Error handling and display
94- IDataErrorInfo support
95
96### Sorting & Filtering
97📄 **Read:** [references/sorting-filtering.md](references/sorting-filtering.md)
98- Single and multi-column sorting
99- Custom sorting logic
100- Programmatic sorting
101- Sort icons and UI customization
102- Filtering basics and filter types
103- Filter row implementation
104- Programmatic filtering
105- Custom filter predicates
106
107### Searching
108📄 **Read:** [references/searching.md](references/searching.md)
109- Search functionality setup
110- Text search and highlighting
111- Case sensitivity options
112- Search navigation (next/previous)
113- Programmatic search control
114
115### Grouping & Summaries
116📄 **Read:** [references/grouping-summaries.md](references/grouping-summaries.md)
117- Data grouping (single and multi-column)
118- Group expand/collapse behavior
119- Custom grouping logic
120- Group header customization
121- Summary rows (Table, Group, Caption summaries)
122- Built-in aggregate functions (Sum, Average, Count, Min, Max)
123- Custom summary calculations
124- Summary display formatting
125
126### Selection & Navigation
127📄 **Read:** [references/selection.md](references/selection.md)
128- Selection modes (Single, Multiple, SingleDeselect, None)
129- Row and cell selection
130- Selection events (SelectionChanging, SelectionChanged)
131- Programmatic selection
132- Current cell vs selected items
133- Keyboard navigation (Windows platform)
134
135### Paging & Data Virtualization
136📄 **Read:** [references/paging-virtualization.md](references/paging-virtualization.md)
137- Paging setup and configuration
138- Page size and page count
139- Page navigation controls
140- Custom paging UI
141- Load More (incremental loading)
142- Pull to Refresh
143- Data virtualization for performance
144- Large dataset handling
145
146### Row Operations
147📄 **Read:** [references/row-operations.md](references/row-operations.md)
148- Row height customization
149- Auto row height (QueryRowHeight event)
150- Row drag and drop
151- Row swiping actions
152- Adding new rows programmatically
153- Deleting rows
154- Unbound rows (additional summary rows at top/bottom)
155- Row-level events
156
157### Exporting & Clipboard
158📄 **Read:** [references/exporting.md](references/exporting.md)
159- Export to Excel functionality
160- Excel export customization (columns, rows, styling)
161- Excel export options and events
162- Export to PDF functionality
163- PDF export customization
164- Clipboard operations (copy/paste)
165- Custom clipboard formats
166
167### Advanced Features & Views
168📄 **Read:** [references/advanced-features.md](references/advanced-features.md)
169- Master-Details View (hierarchical/relational data)
170- Record Template View (custom row layouts)
171- Empty view customization
172- Context menu implementation
173- Tooltips for cells
174- Merged cells
175- Serialization (save/load grid state)
176- Conditional styling by data
177
178### Styling & Customization
179📄 **Read:** [references/styling-customization.md](references/styling-customization.md)
180- Grid styling basics
181- Cell styling (CellStyle)
182- Conditional cell styling
183- Row styling and alternating row colors
184- Header styling
185- Theme customization
186- Custom cell templates
187- Liquid glass effect
188
189### Performance & Events
190📄 **Read:** [references/performance-events.md](references/performance-events.md)
191- Performance optimization techniques
192- Large dataset best practices
193- Memory management strategies
194- Grid events overview
195- Common event scenarios
196- Event handling patterns
197- Performance monitoring
198
199### Localization
200📄 **Read:** [references/localization.md](references/localization.md)
201- Localization setup
202- Multi-language support
203- RTL (Right-to-Left) support
204- Scrolling modes and optimization
205