CoreUI Vue Data Grid

Introduction

High-performance Vue 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

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). Props are named after the features they control, emits are verbs, and event payloads carry the grid’s own state — a small, predictable API.

<script setup>
import { CDataGrid } from '@coreui/vue-data-grid'
import '@coreui/data-grid/dist/css/data-grid.css'
</script>

<template>
  <CDataGrid
    :columns="[
      { key: 'name', label: 'Name' },
      { key: 'role', label: 'Role' },
    ]"
    :items="items"
    :item-key="(item) => String(item.id)"
  />
</template>

Get started

  1. Install the package.
  2. Follow the Quickstart to render your first grid.
  3. Browse the feature matrix to see what’s available.

Packages

PackageFrameworkDocs
@coreui/data-gridVanilla JavaScriptcoreui.io/data-grid/docs
@coreui/react-data-gridReactcoreui.io/data-grid/react/docs
@coreui/vue-data-gridVuecoreui.io/data-grid/vue/docs
@coreui/angular-data-gridAngularcoreui.io/data-grid/angular/docs