1Sponsor

Data Grid

Advanced data grid with sorting, filtering, pagination, and cell editing

Terminal

Installation

pnpm dlx shadcn@latest add https://termcn.dev/r/data-grid.json

Usage

import { DataGrid } from "@/components/ui/data-grid";
<DataGrid
  data={[
    { name: "Alice", role: "Engineer", status: "Active" },
    { name: "Bob", role: "Designer", status: "Away" },
  ]}
  columns={[
    { key: "name", header: "Name", width: 12 },
    { key: "role", header: "Role", width: 12 },
    { key: "status", header: "Status", width: 10 },
  ]}
/>

API Reference

DataGrid

PropTypeDefault
dataT[]required
columnsDataGridColumn<T>[]required
pageSizenumber10
onRowSelect(row: T) => voidundefined
onCellEdit(row: T, key: string, value: string) => voidundefined
borderColorstringundefined
borderStyle"single" | "double" | "round" | "bold""single"
showRowNumbersbooleanfalse
filterPlaceholderstringundefined

DataGridColumn

PropTypeDefault
keykeyof T & stringrequired
headerstringrequired
widthnumberundefined
align"left" | "right" | "center""left"
render(value: unknown, row: T) => stringundefined
filterablebooleanundefined
sortablebooleanundefined