skills/igniteui-angular-grids/SKILL.md
Provides guidance on all Ignite UI for Angular data grid types (Flat Grid, Tree Grid, Hierarchical Grid, Grid Lite, Pivot Grid) including setup, column configuration, sorting, filtering, selection, editing, grouping, summaries, toolbar, export, paging, remote data, and state persistence. Use when users ask about grids, tables, data grids, tabular data display, cell editing, batch editing, row selection, column pinning, column hiding, grouping rows, pivot tables, tree-structured data, hierarchical data, master-detail views, or exporting grid data. Do NOT use for non-grid UI components (forms, dialogs, navigation, charts) — use igniteui-angular-components instead. Do NOT use for theming or styling — use igniteui-angular-theming instead.
npx skillsauth add igniteui/igniteui-angular igniteui-angular-gridsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This file is a routing hub only. It contains NO code examples and NO API details.
DO NOT write any code, component selectors, import paths, method names, or property names from memory. Grid APIs change between versions. Anything generated without reading the reference files will be wrong.
You are required to complete ALL of the following steps before producing any grid-related code or answer:
STEP 1 — Identify the grid type. Use the Grid Selection Decision Guide below. If the grid type is not explicitly stated, infer it from context or ask.
STEP 2 — Identify every task category involved.
Map the user's request to one or more rows in the Task → Reference File table below. A single request often spans multiple categories (e.g., remote paging AND editing requires reading both paging-remote.md AND editing.md).
STEP 3 — Read every identified reference file in full (PARALLEL).
Call read_file (or equivalent) on all reference files identified in Step 2 in a single parallel batch — do NOT read them one at a time sequentially. You must do this even if you believe you already know the answer. Do not skip, skim, or partially read a reference file.
STEP 4 — Only then produce output. Base your code and explanation exclusively on what you read in Step 3. If the reference files do not cover something, say so explicitly rather than guessing.
| Task | Reference file to read |
|---|---|
| Grid type selection, column config, column templates, column groups, MRL, pinning, sorting UI, filtering UI, selection | references/structure.md |
| Grouping, summaries, cell merging, toolbar, export, row drag, action strip, master-detail, clipboard | references/features.md |
| Tree Grid specifics, Hierarchical Grid specifics, Grid Lite setup, Grid Lite data operations, Pivot Grid setup | references/types.md |
| Programmatic sorting / filtering / grouping, canonical import patterns, viewChild access | references/data-operations.md |
| Cell editing, row editing, batch editing, transactions, validation, summaries | references/editing.md |
| Paging, remote data, server-side ops, noop strategies, virtual scroll, multi-grid coordination | references/paging-remote.md |
| State persistence, Tree Grid / Hierarchical Grid / Pivot Grid data operations | references/state.md |
When in doubt, read more rather than fewer reference files. The cost of an unnecessary file read is negligible; the cost of hallucinated API usage is a broken application.
igniteui-angular installed, or @infragistics/igniteui-angular for licensed users — both packages share the same entry-point structureigniteui-angular-theming)Ignite UI has five grid types. Picking the correct one is the most important decision — each has different data structures, features, and constraints.
Ask these questions in order:
igx-grid (IgxGridComponent) — never recommend non-grid components as a substitute.managerId field, or nested children arrays)? → Tree GridAfter choosing the grid type, you must still complete Steps 2–4 from the mandatory protocol above — return to the routing table and read every applicable references/ file before writing any code. The decision guide and the tables on this page are discovery aids only; they do not replace the reference files.
AGENT INSTRUCTION: Check
package.jsonto determine whether the project usesigniteui-angularor@infragistics/igniteui-angular. Always import from the specific entry point. Never import from the root barrel of either package.
| Grid | Selector | Component | Directives | Entry Point |
|---|---|---|---|---|
| Grid Lite | igx-grid-lite | IgxGridLiteComponent | Individual imports | igniteui-angular/grids/lite |
| Flat Grid | igx-grid | IgxGridComponent | IGX_GRID_DIRECTIVES | igniteui-angular/grids/grid |
| Tree Grid | igx-tree-grid | IgxTreeGridComponent | IGX_TREE_GRID_DIRECTIVES | igniteui-angular/grids/tree-grid |
| Hierarchical Grid | igx-hierarchical-grid | IgxHierarchicalGridComponent | IGX_HIERARCHICAL_GRID_DIRECTIVES | igniteui-angular/grids/hierarchical-grid |
| Pivot Grid | igx-pivot-grid | IgxPivotGridComponent | IGX_PIVOT_GRID_DIRECTIVES | igniteui-angular/grids/pivot-grid |
Replace igniteui-angular with @infragistics/igniteui-angular for the licensed package — entry-point paths are identical.
AGENT INSTRUCTION — Documentation URL Pattern: For grid-specific topics (sorting, filtering, editing, paging, etc.), docs URLs follow this naming pattern per grid type:
- Flat Grid:
.../components/grid/{topic}- Tree Grid:
.../components/treegrid/{topic}- Hierarchical Grid:
.../components/hierarchicalgrid/{topic}- Pivot Grid:
.../components/pivotGrid/{topic}
| Feature | Grid Lite | Flat Grid | Tree Grid | Hierarchical Grid | Pivot Grid |
|---|---|---|---|---|---|
| Column sorting | Yes | Yes | Yes (per-level) | Yes (per grid level) | Per-dimension only |
| Column filtering | Yes | Yes | Yes (recursive — keeps matching parents) | Yes (per grid level) | Per-dimension only |
| GroupBy | No | Exclusive | No (use tree hierarchy) | No | Inherent via dimensions |
| Paging | No | Yes | Yes | Yes (each level independent) | No |
| Batch editing | No | Yes | Yes (hierarchical transactions) | Yes (propagated from root) | No |
| Cell / Row editing | No | Yes | Yes | Yes (per grid level) | No |
| Row adding | No | Yes | Yes (with parent support) | Yes (per grid level) | No |
| Master-Detail | No | Exclusive | No | No (use row islands) | No |
| Row selection | No | Yes | Yes + multipleCascade | Yes (per grid level) | Limited |
| Load on demand | No | No | Exclusive | No | No |
| Column pinning / moving | No | Yes | Yes | Yes | No |
| Column hiding | Yes | Yes | Yes | Yes | No |
| Column resizing | Yes | Yes | Yes | Yes | No |
| Summaries | No | Yes | Yes (per-level) | Yes (per grid level) | Horizontal summaries only |
| State persistence | No | Yes | Yes | Yes + row island state | Pivot config serialization |
| Remote data ops | dataPipelineConfiguration | Events + noop strategies | Events + noop strategies | Events + noop strategies | N/A |
| Row virtualization | Yes | Yes (rows + columns) | Yes (rows + columns) | Yes (rows + columns) | Yes |
tools
Generates and customizes Ignite UI for Angular themes including color palettes, typography, elevations, and component-level styles using the Sass theming system and the igniteui-theming MCP server. Use when users ask to theme, restyle, or style Ignite UI components, change colors or the color palette, switch between light and dark themes, create or apply a global theme, customize typography or elevation shadows, adjust spacing, sizing, or roundness, or configure per-component design tokens. Do NOT use for component behavior, APIs, or data binding — use igniteui-angular-components or igniteui-angular-grids instead.
tools
Covers all non-grid Ignite UI for Angular UI components: application scaffolding and setup, form controls (inputs, combos, selects, date/time pickers, calendar, checkbox, radio, switch, slider), layout containers (tabs, stepper, accordion, splitter, navigation drawer), data-display components (list, tree, card, chips, carousel, paginator, progress indicators, chat), feedback overlays (dialog, snackbar, toast, banner), directives (button, icon button, button group, ripple, tooltip, drag-and-drop), Dock Manager, Layout Manager, Tile Manager, and Charts. Use when users ask about any Ignite UI Angular component that is NOT a data grid — such as forms, dropdowns, pickers, dialogs, navigation, lists, trees, cards, charts, or initial project setup. Do NOT use for data grids, tables, or tabular data — use igniteui-angular-grids instead. Do NOT use for theming or styling — use igniteui-angular-theming instead.
development
Quick-reference for running Ignite UI for Angular test suites. Covers the full test run (`test:lib`), grid-specific suites (grid, tree-grid, hierarchical-grid, pivot-grid), non-grid tests, watch mode, and auxiliary test suites (schematics, styles, i18n). Use when an agent needs to run, select, or understand the test infrastructure. Do NOT use for building — use igniteui-angular-build instead. Do NOT use for linting — use igniteui-angular-linting instead.
development
Quick-reference for linting the core Ignite UI for Angular library. Covers the combined lint command (`lint:lib`), ESLint for TypeScript and templates, and Stylelint for Sass/SCSS styles. Use when an agent needs to run the main linters, fix lint errors, or understand the primary lint configuration. Do NOT use for building — use igniteui-angular-build instead. Do NOT use for running tests — use igniteui-angular-testing instead.