syncfusion-react-grid
Implements Syncfusion React Grid component for feature-rich data tables and grids. Use this when working with data display, sorting, filtering, grouping, aggregates, editing, or exporting. This skill covers grid configuration, CRUD operations, virtual scrolling or infinite scrolling, hierarchy grids
By syncfusion · 688 installs
npx skills add syncfusion/react-ui-components-skills --skill syncfusion-react-grid
Source repository · Upstream listing
Syncfusion React Grid
The Syncfusion React Grid is a comprehensive, feature rich component for displaying and manipulating tabular data. It provides extensive functionality for data binding, paging, sorting, filtering, grouping, editing, exporting, scrolling modes, row/column customization, and advanced state management to handle datasets of any size and complexity efficiently.
⚠️ Security & Trust Boundary
The Grid skill does not perform any remote data access.
All external API interaction is handled by a separate DataManager skill outside this skill’s trust boundary.
Table of Contents
[When to Use This Skill]( when to use this skill)
[Component Overview]( component overview)
[Mandatory Rules for Inbuilt API]( mandatory rules for inbuilt api)
[Feature/Skill Navigation Guide]( feature navigation guide)
[Quick Start Example]( quick start example)
When to Use This Skill
Use the Syncfusion React Grid when you need to:
Display tabular data with rows and columns in a React application
Handle large datasets efficiently with paging, virtual scrolling, or infinite scrolling
Enable sorting, filtering, and searching for single or multiple columns
Edit data inline with multiple edit modes (Inline, Batch, Dialog)
Export data to Excel or PDF formats with customization
Group and aggregate data with summaries and calculations
Customize rows and cells with templates and styling
Manage complex column configurations (frozen columns, spanning, reordering, resizing)
Optimize performance when rendering thousands of records
Persist grid state for user preferences and configuration
Provide responsive data views for different screen sizes
Component Overview
The Grid component provides:
Data Binding : Support for local arrays, remote data sources, and DataManager integration
Paging : Client side pagination with customizable page size and navigation
Sorting : Single and multi column sorting with custom comparers
Filtering : Multiple filter modes (Filter Bar, Filter Menu, Excel like filter)
Searching : Global search across columns
Grouping : Group data by columns with aggregates and lazy loading
Selection : Row, cell, and column selection with checkbox support
Editing : Inline, Batch, and Dialog modes with validation and templates
Aggregates : Sum, Average, Count, Min, Max with footer, group, and caption display
Exporting : Excel and PDF export with templates and server side support
Scrolling : Standard, Virtual, and Infinite scrolling modes
Row Customization : Templates, detail views, drag drop, pinning, spanning
Column Customization : Templates, resizing, reordering, freezing, spanning
Performance : Optimized rendering for large datasets
Responsive Design : Adaptive layouts for different screen sizes
Module System : Feature based modules to reduce bundle size
Mandatory Rules for Inbuilt API
CRITICAL : Follow these rules when using Grid's inbuilt API (137+ methods, 65+ events, 95+ properties):
Rule 1: Module Injection Required for Feature Methods
Methods only work if their module is injected. No error thrown if module missing.
Method Required Module Example
goToPage() Page <Inject services={[Page]} /
sortColumn() Sort <Inject services={[Sort]} /
filterByColumn() Filter <Inject services={[Filter]} /
addRecord() , deleteRecord() Edit <Inject services={[Edit]} /
Rule 2: Properties vs Methods Know the Difference
Properties : Set via JSX props ( <GridComponent allowPaging={true} / )
Methods : Call via ref ( gridRef.current.goToPage(2) )
Can't set properties via methods or call methods via props
📄 Full Properties API Reference: [references/properties configuration.md](references/properties configuration.md)
📄 Full Methods API Reference: [references/programmatic api.md](references/programmatic api.md)
📄 Full Events API Reference: [references/events catalog.md](references/events catalog.md)
📄 Backend Integration: [references/adaptors.md](references/adaptors.md)
Feature Navigation Guide
Getting Started & Setup
📄 Read: [references/getting started.md](references/getting started.md)
Installation and package setup
Basic component initialization
CSS imports and theme configuration
Simple data binding example
Module injection
Data Management
📄 Read: [references/data binding.md](references/data binding.md)
Local data binding with arrays
Remote data with DataManager
Loading indicators (Spinner, Shimmer)
Data source configuration
Column Configuration
📄 Read: [references/columns.md](references/columns.md)
Column definition and properties
Column types (string, number, date, boolean, checkbox)
Column width and auto fit
Column templates and custom rendering
Column features (spanning, reordering, resizing, freezing)
Aggregation & Summaries
📄 Read: [references/aggregates.md](references/aggregates.md)
Footer aggregates (Sum, Avg, Count, Min, Max, etc.)
Group footer aggregates
Group caption aggregates
Custom aggregate functions
Reactive aggregate updates
Navigation & Pagination
📄 Read: [references/paging.md](references/paging.md)
Enable and configure paging
Page size and navigation
Page change events
Customizing pager UI
Query string integration
Sorting Data
📄 Read: [references/sorting.md](references/sorting.md)
Single and multi column sorting
Sort direction control
Initial sort configuration
Custom comparers
Prevent sorting for specific columns
Filtering
Start here: 📄 Read [references/filter setup.md](references/filter setup.md) — Enable filtering, choose filter type (FilterBar, Menu, Excel, CheckBox)
Choose your type:
📄 Read [references/filter types.md](references/filter types.md) — All 3 filter types: FilterBar (inline text), Menu (operators), Excel (checkboxes)
📄 Read [references/filter operators.md](references/filter operators.md) — All 21+ operators, syntax, wildcards, AND/OR logic
Searching
📄 Read: [references/searching.md](references/searching.md)
Grid search functionality
Global search across columns
Search with filter integration
Case sensitive search options
Grouping Data
📄 Read: [references/grouping.md](references/grouping.md)
Enable grouping by columns
Group by multiple columns
Caption templates
Group footer aggregates
Lazy load grouping for performance
Selection
📄 Read: [references/selection.md](references/selection.md)
Row, cell, column selection modes
Checkbox selection
Multiple selection handling
Selection events and methods
Programmatic selection
Editing
📄 Read: [references/editing.md](references/editing.md)
Enable editing (allowEditing, allowAdding, allowDeleting)
Edit modes: Inline, Batch, Dialog
Edit triggers (double click, toolbar, keyboard)
Custom edit templates
Validation rules and error handling
Primary key configuration
⚠️ isPrimaryKey={true} is required on the key column — editing silently fails without it.
Row Features
📄 Read: [references/row.md](references/row.md)
Row templates
Detail templates (expand/collapse)
Row drag and drop
Row pinning
Row spanning
Row selection and events
Exporting
📄 Read: [references/excel export.md](references/excel export.md)
Basic Excel export functionality
Export options and configuration
Exporting with column templates
Server side export
Formatting and styling in exports
📄 Read: [references/pdf export.md](references/pdf export.md)
PDF export setup
Headers and footers
Export options and customization
Exporting with templates
Server side PDF export
Page orientation and sizing
Scrolling Modes
📄 Read: [references/scrolling.md](references/scrolling.md)
Standard scrolling
Virtual scrolling (performance optimization)
Infinite scrolling
Scrollbar customization
Height and width configuration
⚠️ height is required — scroll is silently disabled without it. Do NOT combine with allowPaging in virtual scrolling and infinite scrolling.
Rows Mode Key Config
< 1,000 allowPaging Page module
1K – 100K enableVirtualization + height VirtualScroll , no paging
Continuous enableInfiniteScrolling + height InfiniteScroll
100K+ grouped enableVirtualization + lazyLoadGrouping VirtualScroll , Group
Freezing & Pinning
📄 Read: [references/frozen.md](references/frozen.md)
Freeze columns
Freeze rows
Freeze headers
Row pinning
Frozen column behavior
Toolbar
📄 Read: [references/toolbar.md](references/toolbar.md)
Built in toolbar items
Custom toolbar buttons
Toolbar icons and events
Edit toolbar integration
Toolbar item templates
Context Menu
📄 Read: [references/context menu.md](references/context menu.md)
Built in context menu items
Custom context menus
Context menu configuration
Context menu events
Cell Operations
📄 Read: [references/cell.md](references/cell.md)
Cell editing and selection
Cell templates
Cell value formatting
Cell ranges and operations
Cell focus and navigation
📄 Read: [references/clipboard.md](references/clipboard.md)
Copy and paste functionality
Clipboard events
Custom clipboard actions
Copy column headers
Paste from external sources
Printing
📄 Read: [references/print.md](references/print.md)
Print grid
Print templates
Print customization
Print specific rows/columns
Print orientation and sizing
Styling & Appearance
📄 Read: [references/style and appearance.md](references/style and appearance.md)
CSS customization
Themes (Material, Bootstrap, Fabric)
Dark mode support
Inline styling and classes
Custom color schemes
Component size modes
⚠️ rowDataBound and queryCellInfo fire on every render — no API calls inside them.
❌ Never add both a column template and a rowDataBound handler targeting the same field — this produces duplicate, conflicting styling logic.
Hierarchy & Nested Data
📄 Read: [references/hierarchy grid.md](references/hierarchy grid.md)
Parent child data structures
Child grid
Expand and collapse behavior
Nested grid templates
Detail row templates
Hierarchical data configuration
Adaptive Mode
📄 Read: [references/adaptive.md](references/adaptive.md)
enableAdaptiveUI : Render filter, sort, column chooser, and edit dialogs in full screen mode for better mobile usability. Apply e bigger class to parent element.
Vertical row rendering : Set rowRenderingMode="Vertical" to display row elements vertically instead of horizontally (default is Horizontal).
Vertical rendering features : Supports paging, sorting, filtering, selection, dialog editing, aggregates, infinite scroll, and toolbar options.
rowRenderingMode note : Column Menu (grouping, sorting, autofit, filter, column chooser) only works in Horizontal mode.
AdaptiveUIMode property : Use "Mobile" to render adaptive layout only on mobile screens, or "Both" (default) for both mobile and desktop.
Mobile screen optimization : Render adaptive dialogs and vertical layouts automatically when enableAdaptiveUI is enabled.
Configuration Management
📄 Read: [references/global local.md](references/global local.md)
Global grid settings
Local column configuration
Configuration precedence
Configuration merging
📄 Read: [references/state management.md](references/state management.md)
Persist grid state
Save and restore grid state manually
Restore grid to initial state
Prevent specific properties from persisting
Persist column templates and header text
⚠️ Rule : enablePersistence={true} must be enable when use state management in grid.
Module System & Architecture
📄 Read: [references/modules.md](references/modules.md)
Grid module architecture and feature based modules
30+ available mo