Ten million rows.
Thirty milliseconds.
The data grid is the most demanding component you ship. Elyra DataGrid is the only one that is server-driven, scales to millions of rows, works across Livewire, Vue and Svelte, and follows your Tailwind theme — all at once. One protocol, three clients, one PHP server.
Grids force a compromise.
This one doesn't.
Client-bound grids fall over past a few thousand rows. Ecosystem-locked grids marry you to one framework. Headless cores leave the server, filtering UI, editing and export as homework. Elyra DataGrid makes four decisions instead.
One protocol, many clients
A small JSON contract — GridRequest / GridResponse — generates both the TypeScript types and the PHP DTOs from one source. The Livewire, Vue and Svelte clients are genuinely interchangeable and always in sync. You are never locked into one frontend.
Server-driven by design
Sorting, filtering, grouping, aggregation, search and paging run in the database, never in JavaScript. The client renders only a viewport — so the grid behaves the same over 100 rows and 10,000,000. The work is O(viewport), not O(data).
Native to ElyraSQL
The server turns database features straight into grid features: FACET value lists with counts, WITH ROLLUP subtotals, percentile/median footers, HYBRID semantic + full-text search, and streamed cursor exports of millions of rows at constant memory. A generic MySQL fallback keeps it portable.
Follows your app
A Tailwind v4-native theme that inherits your palette, accent and dark mode automatically — it looks like part of your app on day one, not a bolted-on widget.
One grid, your stack
Pick the client. Keep the grid.
The same features, keyboard spec and server — three first-class clients that share a headless TypeScript core and one PHP package.
Grid state lives in the component; the protocol request is built and answered during render. Drop it into a Blade view — no build step, no API endpoint to wire.
A headless engine holds state and POSTs the protocol request to a Laravel endpoint, with SSR-seeded first paint so the first screen is instant.
The same headless core with Svelte 5 runes — virtual rows and columns, the full keyboard spec, and your Tailwind theme, on the Inertia stack.
Fast at any size —
because size stops mattering.
Benchmarked against a 10,000,000-row table on ElyraSQL 1.4.7. Interactive operations — paging, sorting, filtering — stay flat because the grid only ever queries a viewport.
See the full benchmarkEverything a grid needs. Nothing left as homework.
Multi-column sort and per-column filters, plus an advanced AND/OR filter builder — all resolved in the database.
Filter-by-checkbox value lists with live counts (FACET), computed lazily — only when a filter panel opens.
Group by any column with subtotals (WITH ROLLUP), non-additive aggregates like median/percentile, and expandable detail rows.
Classic paging or smooth virtual scrolling — rows and columns virtualized — across all three clients.
Inline, in-cell, modal or slideover editing, with batch edits — validated on the server.
Row and range selection with a complete keyboard spec and clipboard support — spreadsheet-grade navigation.
Expandable master-detail rows and full tree-grid hierarchies, lazily loaded from the server.
Freeze columns left and right, auto-fit widths, reorder and resize — with column virtualization for very wide grids.
Streamed CSV and rich XLSX of the full result set — millions of rows — from a server cursor at constant memory.
A search box that understands meaning, not just substrings — semantic + full-text (HYBRID) via ElyraSQL.
Tailwind v4-native theming that inherits your palette, accent and dark mode with no configuration.
Localizable UI and persistent grid state (columns, sort, filters) across sessions.
A commercial license,
for a grid you won't outgrow.
Not open source — every plan ships the full source of all packages (protocol, PHP server, headless core, all three clients and the theme), updates and support. Free to evaluate on local and development domains; a license activates your production domains. One purchase covers Livewire, Vue and Svelte.
All annual plans renew yearly and include updates + support for the term. The Lifetime plan is a one-time purchase with perpetual updates — a limited launch offer. See the licensing docs for details.