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