← All cases
Case 005 UI Components

Canvas Data Grid

DOM-rendered Blazor grids slow down as rows and features stack up, and the commercial alternatives (AG Grid, Syncfusion, Telerik) are licensed dependencies you don't control. Most teams accept the licence cost because building a serious grid is considered too expensive.

A high-performance Blazor data grid that paints cells to a canvas and overlays real DOM inputs only where typing happens — with multi-column sort, a per-column filter row, pivot aggregations, pinning, formula columns and CSV export.

Exhibit — UI Components
Exhibit 005-A
Rendering model
hybrid — canvas cells, DOM-overlay filter inputs
Sorting
multi-column with chained ThenBy and order badges
Pivot aggregations
sum / avg / min / max / count per column
Formula columns
spreadsheet-style computed cells (=SUM, cross-column expressions)
State persistence
column order, widths, pinning, visibility, sort and pivot to localStorage
Hardening
8 audit-driven correctness and security fixes shipped (LINQ allowlist, cancellation, JS teardown)

Blazor Server + Canvas2D with dynamic-LINQ server-side queries; the roadmap came from a four-agent audit of the codebase against competitor feature surfaces, then each tier was shipped by dedicated agents.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.