igniteui-blazor-grids — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited igniteui-blazor-grids (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
This file is a routing hub only. It contains NO code examples and NO API details.
DO NOT write any code, component parameters, event names, or property names from memory. Grid APIs change significantly 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 - Extract doc slugs, then call `get_doc` and API tools for the relevant grid and each feature. Use the Ignite UI MCP get_doc tool with framework: "blazor" and the exact doc slug listed in the reference files you just read. It returns the relevant grid docs, examples, and feature guidance. Do NOT skip this step.
If a reference file does not list a slug for the requested grid feature, call search_docs(framework: "blazor", query: "<grid feature>") to find the correct doc. If no Blazor doc exists, say that the feature is not covered rather than guessing.
Use search_api and get_api_reference for Blazor grid API details when property names, methods, events, enums, or signatures are needed.
STEP 5 - Only then produce output. Base your code and explanation exclusively on what you read in Steps 3–4. If the reference files or MCP docs do not cover something, say so explicitly rather than guessing.
| Task | Reference file |
|---|---|
| Grid type selection, quick start, column configuration, column templates, column groups, multi-row layout, pinning, sorting UI, filtering UI, selection | references/structure.md |
| Grouping, summaries, cell merging, toolbar, export, virtualization & performance, 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, @ref access, custom strategies | references/data-operations.md |
| Cell editing, row editing, validation, custom editors | references/editing.md |
| Paging, remote data, server-side ops, noop strategies, virtual scroll, multi-grid coordination | references/paging-remote.md |
| State persistence (IgbGridState, feature serialization, save/restore per grid type) | references/state.md |
| Grid sizing (width, height, column sizing, null/px/% modes, cell spacing CSS variables) | references/sizing.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.
Before using any Ignite UI for Blazor grid component you must have:
| Requirement | Details |
|---|---|
| .NET SDK | .NET 8+, 9+, or 10+ |
| NuGet package | IgniteUI.Blazor (licensed) for all full-featured grids; IgniteUI.Blazor.GridLite (MIT, separate NuGet) for Grid Lite only - grids are not included in IgniteUI.Blazor.Lite |
| Service registration | builder.Services.AddIgniteUIBlazor(typeof(IgbGridModule), ...) in Program.cs with required module types |
| Using directive | @using IgniteUI.Blazor.Controls in _Imports.razor |
| CSS theme | <link href="_content/IgniteUI.Blazor/themes/light/bootstrap.css" rel="stylesheet" /> in index.html or _Host.cshtml |
| JS interop script | <script src="_content/IgniteUI.Blazor/app.bundle.js"></script> in index.html or _Host.cshtml |
| Ignite UI CLI MCP | The Ignite UI CLI MCP server (igniteui-cli) available as a tool provider - see references/mcp-setup.md |
AGENT INSTRUCTION - MCP Server Setup (REQUIRED)
>
Before using any Ignite UI CLI MCP tools, you MUST verify the MCP server is available by callinglist_components(framework: "blazor", filter: "grid")orsearch_docs(framework: "blazor", query: "grid"). If the tool is not available or the call fails, you MUST automatically configure it by following the setup steps inreferences/mcp-setup.md.
>
After writing the file, inform the user that the MCP server has been configured and they may need to reload the editor for the tools to activate. Do NOT skip this step or ask the user to do it manually.
If these are not yet in place, read the igniteui-blazor-components skill's references/setup.md first.
Ignite UI for Blazor has five grid types. Ask these questions in order:
IgbGridLite, MIT licensed, separate IgniteUI.Blazor.GridLite package). If the user later needs features beyond Grid Lite's capabilities, upgrade strictly to `IgbGrid` - never recommend non-grid components as a substitute.IgbPivotGrid)IgbHierarchicalGrid)ManagerId field, or nested children arrays)? → Tree Grid (IgbTreeGrid)IgbGrid)After choosing the grid type, you must still complete Steps 2–5 from the mandatory protocol above - return to the routing table and read every applicable references/ file before writing any code.
AGENT INSTRUCTION - Documentation URL Pattern: For grid-specific topics (sorting, filtering, editing, paging, etc.), docs URLs follow this naming pattern per grid type: - Grid Lite:.../components/grid-lite/{topic}- Flat Grid:.../components/grids/grid/{topic}- Tree Grid:.../components/grids/treegrid/{topic}- Hierarchical Grid:.../components/grids/hierarchicalgrid/{topic}- Pivot Grid:.../components/grids/pivotgrid/{topic}
| Grid Component | Module to Register | Package | Typical Use Case |
|---|---|---|---|
IgbGridLite | IgbGridLiteModule | IgniteUI.Blazor.GridLite (MIT) | Read-only display with sorting, filtering, virtualization - no editing or selection |
IgbGrid | IgbGridModule | IgniteUI.Blazor (Commercial) | Flat tabular data, master-detail, CRUD, dashboards |
IgbTreeGrid | IgbTreeGridModule | IgniteUI.Blazor (Commercial) | Self-referencing tree data (org charts, file trees, BOM) |
IgbHierarchicalGrid | IgbHierarchicalGridModule | IgniteUI.Blazor (Commercial) | Multi-schema parent-child relationships (customers → orders → line items) |
IgbPivotGrid | IgbPivotGridModule | IgniteUI.Blazor (Commercial) | Pivot table analytics, aggregations across dimensions |
AGENT INSTRUCTION - Grid Lite upgrade path: When a user is working withIgbGridLiteand their requirements exceed Grid Lite's capabilities (editing, selection, paging, grouping, summaries, export), you MUST recommend upgrading toIgbGridfrom theIgniteUI.Blazorpackage. Never suggest a different component type - the upgrade path from Grid Lite is always toIgbGrid.
// Program.cs - register only the modules you use
builder.Services.AddIgniteUIBlazor(
typeof(IgbGridLiteModule), // Grid Lite (IgniteUI.Blazor.GridLite package)
typeof(IgbGridModule), // Flat Grid
typeof(IgbTreeGridModule), // Tree Grid
typeof(IgbHierarchicalGridModule), // Hierarchical Grid
typeof(IgbPivotGridModule) // Pivot Grid
);| Feature | IgbGridLite | IgbGrid | IgbTreeGrid | IgbHierarchicalGrid | IgbPivotGrid |
|---|---|---|---|---|---|
| Column sorting | ✅ | ✅ | ✅ | ✅ | ✅ (dimension-based) |
| Column filtering | ✅ | ✅ | ✅ | ✅ | ✅ (dimension-based) |
| Row selection | ❌ | ✅ | ✅ (cascade) | ✅ | ❌ |
| Cell selection | ❌ | ✅ | ✅ | ✅ | ❌ |
| Column selection | ❌ | ✅ | ✅ | ✅ | ❌ |
| Grouping | ❌ | ✅ Exclusive | ❌ | ❌ | N/A (use dimensions) |
| Summaries | ❌ | ✅ | ✅ | ✅ | N/A (built-in aggregations) |
| Cell editing | ❌ | ✅ | ✅ | ✅ | ❌ (read-only) |
| Row editing | ❌ | ✅ | ✅ | ✅ | ❌ |
| Row adding | ❌ | ✅ | ✅ | ✅ | ❌ |
| Batch editing | ❌ | ❌ | ❌ | ❌ | ❌ |
| Paging | ❌ | ✅ | ✅ | ✅ | ❌ |
| Column pinning | ❌ | ✅ | ✅ | ✅ | ❌ |
| Column hiding | ✅ | ✅ | ✅ | ✅ | ❌ |
| Column moving | ❌ | ✅ | ✅ | ✅ | ❌ |
| Column resizing | ✅ | ✅ | ✅ | ✅ | ❌ |
| Multi-column headers | ❌ | ✅ | ✅ | ✅ | ❌ |
| Row dragging | ❌ | ✅ | ✅ | ✅ | ❌ |
| Master-detail | ❌ | ✅ Exclusive | ❌ | N/A (use RowIsland) | ❌ |
| Toolbar | ❌ | ✅ | ✅ | ✅ | ❌ |
| Export (Excel/CSV) | ❌ | ✅ | ✅ | ✅ | ❌ |
| State persistence | ❌ | ✅ | ✅ | ✅ | ✅ |
| Virtualization | ✅ | ✅ | ✅ | ✅ | ✅ |
| Cell merging | ❌ | ✅ | ❌ | ❌ | ❌ |
| Load on demand | ❌ | ❌ | ✅ Exclusive | ❌ | ❌ |
| Remote data ops | DataPipelineConfiguration | Events + noop strategies | Events + noop strategies | Events + noop strategies | N/A |
AGENT INSTRUCTION - Blazor API Lookup
>
Usesearch_apiandget_api_referencefor Blazor grid property names, event names, method signatures, enums, and related API details.
AGENT INSTRUCTION - `@ref` for programmatic access
>
Use @ref to obtain a C# reference to the grid, then call methods on it:>
``razor <IgbGrid @ref="Grid" /> @code { public IgbGrid Grid { get; set; } } ``AGENT INSTRUCTION - Batch Editing is NOT available for Blazor
>
The Ignite UI for Blazor grid does not support batch editing. Supported editing modes are Cell editing and Row editing only. Do not suggest or generate batch editing code.
| Skill | Use for |
|---|---|
igniteui-blazor-components | All non-grid IgniteUI.Blazor.Lite components (forms, layout, data display, feedback) and visualizations/charts available in IgniteUI.Blazor |
igniteui-blazor-theming | CSS custom properties, palettes, typography, theme switching, dark/light mode |
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.