
syncfusion-angular-grid
Implements Syncfusion Angular 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, state persistence, and advanced data management features for data-intensive applications.
- Installs
- 342
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-grid- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads syncfusion-angular-grid automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Syncfusion Angular Grid
A comprehensive guide to implementing powerful, feature-rich data grids using Syncfusion's Angular Grid component. This skill covers all aspects of grid functionality from basic data binding to advanced features like virtual scrolling, hierarchical data, state management, and multi-format exports.
⚠️ 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
- TreeGrid vs. Grid: Decision Guide
- Critical API Rules & Requirements
- Feature Navigation Guide
- Quick Start Example
- Common Patterns
- Key Props & Configuration
- Common Use Cases
When to Use This Skill
Use this skill when you need to:
- Display tabular data — Load and render structured data in a table format
- Enable data operations — Sort, filter, search, and paginate large datasets
- Implement editing — Add, update, and delete records with validation
- Customize columns — Configure column properties, templates, and layouts
- Export data — Generate Excel, PDF, or print-friendly reports
- Handle advanced scenarios — Hierarchical data, virtual scrolling, state persistence
- Apply styling — Theme grids, customize appearance, and style-specific elements
- Optimize performance — Implement infinite scrolling, virtual scrolling for large datasets
TreeGrid vs. Grid: Decision Guide
| Requirement | Use TreeGrid | Use Grid |
|---|---|---|
| Data Structure | Hierarchical/Tree/Nested | Flat/Tabular |
| Parent-Child Relationships | ✅ Native support | ❌ No (use Detail Template) |
| Expand/Collapse Rows | ✅ Built-in | ❌ No |
| Nested Aggregates | ✅ Includes children | ✅ Flat only |
| Indent/Outdent Operations | ✅ Yes | ❌ No |
| Column Grouping | ❌ No (use Grid) | ✅ Yes |
| Performance (100K+ rows) | ✅Excellent | ✅ Excellent |
| Use Cases | Org charts, file systems, BoM | Orders, invoices, lists |
Critical API Rules & Requirements
Grid's inbuilt API (137+ methods, 65+ events, 95+ properties) requires strict adherence to access patterns:
⚠️ Detailed rules for proper API usage are located in the reference guides — review the sections below based on your needs:
- 📄 Properties Reference → references/grid-properties.md — 95+ configurable properties organized by category
- 📄 Methods Reference → references/grid-methods.md — 137+ methods for data manipulation, selection, sorting, filtering, and more
- 📄 Events Reference → references/grid-events.md — 65+ events for lifecycle management, user interactions, and data changes
- 📄 Programmatic Control → references/programmatic-api.md — Learn @ViewChild requirement, method parameters, async handling, and refresh patterns
- 📄 Event Handling → references/events-catalog.md — Event signatures, timing, cancellation, and render event restrictions
- 📄 Module System → references/modules.md — Service injection requirements for feature methods
- 📄 Selection → references/selection.md — Selection method prerequisites
- 📄 Backend Integration → references/adaptors.md
Feature Navigation Guide
Getting Started & Setup
📄 Read: references/getting-started.md
- Installation and package setup
- Basic grid initialization
- CSS imports and themes
- Minimal working example
Data Management
📄 Read: references/data-binding.md
- Local and remote data binding
- Data source configuration
- API integration
- Real-time data updates
Column Configuration
📄 Read: references/columns.md
- Column properties and types
- Column templates
- Foreign key columns
- Column rendering options
Related — Advanced Column Features:
📄 Read: references/context-menu.md (context menu for columns)
Row Management & Templates
📄 Read: references/row.md
- Row properties and events
- Row templates
- Detail row templates
- Row spanning
Selection & Interaction
📄 Read: references/selection.md
- Row, cell, and column selection
- Checkbox selection
- Selection events
- Multi-select patterns
Data Operations
📄 Read: references/filtering.md
- Filter bar and filter menu
- Excel-like filtering
- Custom filters
- Programmatic filtering
📄 Read: references/sorting.md
- Single and multi-column sorting
- Custom sort order
- Sort events
📄 Read: references/searching.md
- Global search functionality
- Search across columns
- Search algorithms
📄 Read: references/paging.md
- Pagination setup
- Page size configuration
- Page change events
Editing & Validation
📄 Read: references/editing.md
- Edit types (inline, dialog, batch)
- Edit templates and custom editors
- Built-in validators (required, min, max, pattern)
- Validation rules and error messages
- Persisting changes to server
⚠️ CRITICAL:
[isPrimaryKey]="true"is required on the key column — editing silently fails without it (no error thrown).
Grouping & Aggregation
📄 Read: references/grouping.md
- Grouping columns
- Lazy-load grouping
- Caption templates
📄 Read: references/aggregates.md
- Summary rows
- Custom aggregate functions
- Footer aggregates
Export & Reporting
📄 Read: references/excel-export.md
- Export to Excel formats
- Export options and customization
- Export events
📄 Read: references/pdf-export.md
- Export to PDF
- PDF templates and formatting
- Header and footer configuration
📄 Read: references/print.md
- Print functionality
- Print templates
- Print events
Styling & UI Customization
📄 Read: references/style-and-appearance.md
- Theme selection
- CSS customization
- Style specific areas (header, rows, cells)
- Custom CSS classes
📄 Read: references/toolbar.md
- Toolbar items and configuration
- Custom toolbar buttons
- Toolbar events and click handlers
📄 Read: references/clipboard.md
- Copy/paste functionality
- Clipboard events
- Clipboard selection management
Advanced Column Features
📄 Read: references/frozen.md
- Freeze columns
- Multi-column freeze
- Freeze position configuration
⚠️ Performance Warning:
rowDataBoundandqueryCellInfofire on every render/scroll — NEVER make API calls inside them. ⚠️ Conflict Risk: Do NOT add both a column[template]AND arowDataBoundhandler targeting the same field — produces duplicate, conflicting styling.
Cell & Row Features
📄 Read: references/cell.md
- Cell editing and selection
- Cell templates
- Cell spanning
- Cell-level events
Context & Interaction
📄 Read: references/context-menu.md
- Context menu items
- Custom context menu
- Context menu events
- Default menu configuration
Advanced Features
📄 Read: references/scrolling.md
- Virtual scrolling for 1K–100K+ records
- Infinite scrolling for continuous loading
- Sticky headers
- Scrolling performance optimization
⚠️ CRITICAL:
heightis required — scrolling is silently disabled without it (no error thrown). ⚠️ INCOMPATIBLE: Do NOT combineenableVirtualizationorenableInfiniteScrollingwithallowPaging— results are unpredictable.
| 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 |
📄 Read: references/hierarchy-grid.md
- Master-detail grids
- Child grid configuration
- Nested/hierarchical data
- Detail row templates
- Lazy-load child data
📄 Read: references/state-management.md
- Save grid state (columns, sorting, filters)
- Restore grid state
- State persistence options
📄 Read: references/adaptive.md
- Responsive/mobile mode
- Adaptive layouts
- Touch interactions
📄 Read: references/global-local.md
- Keyboard shortcuts and navigation
- Global vs local settings
- Accessibility configurations
Module System & Architecture
📄 Read: references/modules.md
- Grid module architecture and 23+ feature services
- Service dependencies and relationships
- Module injection patterns in component decorators
- Bundle optimization via selective imports
- Performance impact of module inclusion
Data Connectivity & Adaptors
📄 Read: references/adaptors.md
- 7 adaptor types for backend integration
- UrlAdaptor, ODataV4Adaptor, WebApiAdaptor, GraphQLAdaptor
- Custom adaptors and RemoteSaveAdaptor
- Backend configuration examples (C#, Node.js)
- Request/response format specifications
- Error handling and adaptor comparison
Performance Optimization
📄 Read: references/performance.md
- Virtual scrolling for 10,000+ records
- Infinite scrolling and progressive loading
- Memory management and cleanup strategies
- Bundle size optimization
- Event debouncing and throttling
- Performance benchmarking and monitoring
Accessibility & Compliance
📄 Read: references/accessibility.md
- WCAG 2.2 and Section 508 compliance
- WAI-ARIA implementation and screen readers
- Keyboard navigation (Tab, arrows, Enter, Escape)
- Color contrast and focus management
- Accessibility testing tools (axe, NVDA, JAWS)
- Semantic HTML practices
Data Validation
📄 Read: references/validation.md
- Built-in validators (required, min, max, pattern)
- Custom validation functions
- Async validation with server checks
- Validation events and error display
- Server-side validation with ASP.NET
- Validation rules by column type
Command Column & Row Actions
📄 Read: references/command-column.md
- Built-in commands (Edit, Delete, Save, Cancel)
- Custom command buttons
- Role-based and status-based commands
- Command click events
- Conditional command visibility
- CSS styling and icons
Localization & Internationalization
📄 Read: references/localization.md
- Multi-language support (60+ languages)
- Locale setup and culture configuration
- Number, date, and currency formatting
- RTL support (Arabic, Hebrew, Farsi)
- Custom localization and translation
- Language switcher implementation
Responsive Design & Mobile
📄 Read: references/responsive-design.md
- Adaptive UI for mobile/tablet/desktop
- Responsive media queries and breakpoints
- Column visibility hiding rules
- Touch interactions (swipe, long-press)
- Mobile optimization strategies
- Device-specific styling patterns
Programmatic Control
📄 Read: references/programmatic-api.md
- The full programmatic method catalog
- Event prop reference
- Dynamic column control
setProperties()examples, export hooks, and cross-feature
Event Communication
📄 Read: references/events-catalog.md
- Wire
actionBeginto cancel or mutate before an action (args.cancel = true,args.data.field = value) - Wire
actionCompleteto react after (API call, toast, refresh, toolbar restore) - Must wire
actionFailurefor error handling - Use
args.requestTypeto identify the action, see the requestType table in the events catalog
Advanced Tutorials & Real-World Patterns
📄 Read: references/advanced-tutorials.md
- Real-time data updates (WebSocket, SignalR)
- Master-detail with filtering
- Complex calculations and running totals
- Advanced filtering with complex predicates
- Custom themes and theme switching
- Performance monitoring techniques
API Reference - Properties
📄 Read: references/grid-properties.md
- Properties overview
- Core data properties
- Property organization by category
- Configuration reference
API Reference - Methods
📄 Read: references/grid-methods.md
- Methods overview
- Data manipulation methods
- Method parameters and signatures
- Return types and async handling
API Reference - Events
📄 Read: references/grid-events.md
- Events overview
- Data events
- Event lifecycle and timing
- Event arguments and properties
Testing & Quality Assurance
📄 Read: references/test-case.md
- Unit tests
- Integration tests
- Testing strategies
- Test case examples
Quick Start Example
import { Component, OnInit } from '@angular/core';
import { GridComponent } from '@syncfusion/ej2-angular-grids';
interface Employee {
EmployeeID: number;
FirstName: string;
LastName: string;
Title: string;
HireDate: Date;
ReportsTo: number;
Salary: number;
}
@Component({
selector: 'app-grid',
template: `
<ejs-grid [dataSource]="data" [allowPaging]="true"
[pageSettings]="{ pageSize: 12 }"
[allowSorting]="true"
[allowFiltering]="true">
<e-columns>
<e-column field="EmployeeID" headerText="ID" width="100"></e-column>
<e-column field="FirstName" headerText="First Name" width="120"></e-column>
<e-column field="LastName" headerText="Last Name" width="120"></e-column>
<e-column field="Title" headerText="Title" width="150"></e-column>
<e-column field="HireDate" headerText="Hire Date" type="date"
format="yMd" width="130"></e-column>
<e-column field="Salary" headerText="Salary" type="number"
format="C2" width="120"></e-column>
</e-columns>
</ejs-grid>
`
})
export class GridComponent implements OnInit {
data: Employee[] = [];
ngOnInit() {
this.loadEmployeeData();
}
loadEmployeeData() {
// Load your data here
this.data = [
{ EmployeeID: 1, FirstName: 'Nancy', LastName: 'Davolio', Title: 'Sales Representative',
HireDate: new Date(1992, 4, 1), ReportsTo: 2, Salary: 60000 },
{ EmployeeID: 2, FirstName: 'Andrew', LastName: 'Fuller', Title: 'Vice President Sales',
HireDate: new Date(1992, 8, 14), ReportsTo: null, Salary: 97000 },
// ... more data
];
}
}
Common Patterns
Pattern 1: Data Grid with Sorting, Filtering, and Paging
Combine sorting, filtering, and paging for a complete data exploration experience:
<ejs-grid [dataSource]="data"
[allowSorting]="true"
[allowFiltering]="true"
[allowPaging]="true"
[pageSettings]="{ pageSize: 20 }">
<e-columns>
<e-column field="EmployeeID" headerText="ID" width="100"></e-column>
<e-column field="FirstName" headerText="First Name" width="120"></e-column>
<!-- more columns -->
</e-columns>
</ejs-grid>
Pattern 2: Inline Editing with Validation
Enable inline editing with form validation:
<ejs-grid [dataSource]="data"
[editSettings]="{ allowEditing: true, allowAdding: true, mode: 'Normal' }"
[toolbar]="['Add', 'Edit', 'Delete', 'Update', 'Cancel']">
<e-columns>
<e-column field="EmployeeID" headerText="ID" [isPrimaryKey]="true"
width="100"></e-column>
<e-column field="FirstName" headerText="First Name"
[validationRules]="{ required: true }" width="120"></e-column>
<!-- more columns -->
</e-columns>
</ejs-grid>
Pattern 3: Exporting to PDF and Excel
Enable both PDF and Excel exports with toolbar:
<ejs-grid [dataSource]="data"
[toolbar]="['PdfExport', 'ExcelExport']"
[allowPdfExport]='true'
[allowExcelExport]='true'
(toolbarClick)='toolbarClick($event)'>
<e-columns>
<!-- your columns -->
</e-columns>
</ejs-grid>
Pattern 4: Virtual Scrolling for Large Datasets
Optimize performance with virtual scrolling:
<ejs-grid [dataSource]="largeDataset"
[enableVirtualization]="true"
[pageSettings]="{ pageSize: 50 }">
<e-columns>
<!-- your columns -->
</e-columns>
</ejs-grid>
Key Props & Configuration
| Property | Type | Purpose | Common Values |
|---|---|---|---|
dataSource | Array/DataManager | Grid data | Employee[], RemoteDataBinding |
allowSorting | boolean | Enable sorting | true, false |
allowFiltering | boolean | Enable filtering | true, false |
allowPaging | boolean | Enable pagination | true, false |
allowGrouping | boolean | Enable grouping | true, false |
editSettings | object | Edit configuration | { mode: 'Inline' } |
pageSettings | object | Paging options | { pageSize: 12 } |
enableVirtualization | boolean | Virtual scrolling | true, false |
allowExcelExport | boolean | Excel export | true, false |
allowPdfExport | boolean | PDF export | true, false |
toolbar | array | Toolbar items | ['Add', 'Edit', 'Delete'] |
columns | array | Column definitions | [{ field, headerText }] |
height | string/number | Grid height | '400px', 'auto' |
Common Use Cases
Scenario 1: Employee Directory
Implement a searchable, sortable, filterable employee list with details on demand.
→ Combine: getting-started + data-binding + columns + selection + hierarchy-grid
Scenario 2: Data Entry Form
Build a grid for adding and editing records with validation.
→ Combine: editing + validation + toolbar + filtering
Scenario 3: Sales Report Dashboard
Create a highly customized grid with grouping, aggregates, and PDF export.
→ Combine: grouping + aggregates + pdf-export + style-and-appearance
Scenario 4: Real-time Data Monitor
Display streaming data with virtual scrolling and state persistence.
→ Combine: scrolling + state-management + data-binding + adaptive
Scenario 5: Multi-level Organization Chart
Show hierarchical org structure with detail rows for each level.
→ Combine: hierarchy-grid + row templates + cell styling
FAQ
What does the syncfusion-angular-grid skill do?
Implements Syncfusion Angular 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, state persistence, and advanced data management features for data-intensive applications.
How do I install syncfusion-angular-grid?
Run npx skills add https://github.com/syncfusion/angular-ui-components-skills --skill syncfusion-angular-grid in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/syncfusion-angular-grid/ (personal) or .claude/skills/syncfusion-angular-grid/ (project).
Which AI agents can use syncfusion-angular-grid?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is syncfusion-angular-grid safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains syncfusion-angular-grid?
It is published by syncfusion in syncfusion/angular-ui-components-skills. It has 342 recorded installs.
More from syncfusion/angular-ui-components-skills
syncfusion-angular-common
syncfusion/angular-ui-components-skills
Common utilities and features for Syncfusion Angular components. Use this skill when the user needs to implement animations, drag-and-drop, state persistence, RTL support, localization, globalization, security, templates, and advanced features for Syncfusion Angular components.
syncfusion-angular-chart
syncfusion/angular-ui-components-skills
Implement Syncfusion Angular Chart component for professional data visualization. Use this when creating or customizing charts such as line, bar, column, area, pie, financial (candlestick, OHLC), scatter, bubble, or stock charts. Supports axes configuration, series binding, legends, tooltips, zooming, real-time updates, technical indicators, themes, export, and accessibility features.
syncfusion-angular-license
syncfusion/angular-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-angular-themes
syncfusion/angular-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-angular-rich-text-editor
syncfusion/angular-ui-components-skills
Open the skill to read its SKILL.md instructions.
syncfusion-angular-scheduler
syncfusion/angular-ui-components-skills
Open the skill to read its SKILL.md instructions.
Popular frontend & design skills
setup-matt-pocock-skills
mattpocock/skills
Configure this repo for the engineering skills: set up its issue tracker, triage label vocabulary, and domain doc layout. Run once before first use of the other engineering skills.
frontend-design
anthropics/skills
Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.
hyperframes-animation
heygen-com/hyperframes
All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4 rules and compose, or load a blueprint, or look up runtime-specific API (e.g. GSAP eases / Lottie player / Three.js mixer). Also covers auditing an existing composition's choreography (animation map) and 24 named text-animation effects. HyperFrames-native: single paused timeline, seek-safe, deterministic.
prototype
mattpocock/skills
Build a throwaway prototype to answer a design question. Use when the user wants to sanity-check whether a state model or logic feels right, or explore what a UI should look like.
hyperframes-core
heygen-com/hyperframes
The HyperFrames composition contract — build one renderable project. Use for composition structure, the data- timing attributes, class="clip", tracks, sub-compositions, variables, framework-owned media playback, deterministic-render rules, and validation. Read before writing composition HTML.
vercel-react-best-practices
vercel-labs/agent-skills
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.