High-performance Angular data grid — 100,000 rows with sorting, filtering, selection, pagination, server-side data, column resizing, pinning, ordering and full theming.
CoreUI Data Grid is a high-performance grid for displaying and interacting with large tabular datasets. It renders 100,000 rows in the browser with sorting, filtering, selection and pagination, and hands off to your API when the data outgrows the browser’s memory.
Why Data Grid
- Fast by default. Row virtualization keeps only the visible window in the DOM, so scrolling stays smooth at 100k rows.
- Headless core, styled shell. A proven headless table engine and row virtualization under a CoreUI-themed UI. Drop to the headless table any time.
- Complete feature set. Sorting, filtering, selection, pagination, server-side data, column sizing, pinning, ordering & visibility, a column menu and CSV export.
- Themeable. Every knob is a
--cui-data-grid-*CSS variable resolving through CoreUI semantic tokens, so light/dark theming works with no extra CSS. See Styling & theming. - Angular-native. A standalone component with signal-based inputs and
outputs,
OnPushchange detection andng-templatecustomization. - Small. Around 48 KB gzipped for the underlying grid core.
How it’s built
The grid is a thin, styled layer over a headless table engine (state, sorting, filtering, pagination, pinning, ordering, visibility) and row virtualization (windowed rendering). Inputs are named after the features they control, outputs are verbs, and output payloads carry the grid’s own state — a small, predictable API.
Get started
- Install the package.
- Follow the Quickstart to render your first grid.
- Browse the feature matrix to see what’s available.
Packages
| Package | Framework | Docs |
|---|---|---|
@coreui/data-grid | Vanilla JavaScript | coreui.io/data-grid/docs |
@coreui/react-data-grid | React | coreui.io/data-grid/react/docs |
@coreui/vue-data-grid | Vue | coreui.io/data-grid/vue/docs |
@coreui/angular-data-grid | Angular | coreui.io/data-grid/angular/docs |