DataGrid
Root of the DataGrid compound: merges caller layout/loading props over
sensible defaults and provides the context consumed by the table parts.
Requires a TanStack table instance (throws without one). Applies
initialColumnPinning once on mount and auto-enables column pinning for it.
Usage
Best practices
Reach for
DataGrid(notTable) when you need sorting, filtering, column pinning/visibility, or pagination -Tableis a plain styled HTML table with no data model.Pass a
useTableinstance astable-DataGridthrows "requires thetableprop" without one; column defs and row model live on that instance, not onDataGridprops.Render the satellite parts (
DataGridTable,DataGridPagination,DataGridColumnHeader/Filter/Visibility) insideDataGrid- they read the table + layout from its context and break outside it.Enable features through
tableLayout(columnsPinnable,columnsResizable,columnsVisibility, …) rather than styling rows manually; setinitialColumnPinningto pin on mount.
Props
DataGrid
DataGridCheckbox
DataGridExpandToggle
DataGridFilterableHeader
DataGridProvider
DataGridRowSelect
DataGridRowSelectAll
DataGridShell
Also exports
- const
createExpanderColumn - const
createSelectionColumn - const
dataGridAnatomy - interface
DataGridApiFetchParams - interface
DataGridApiResponse - interface
DataGridAppliedFilter - interface
DataGridColumnFilterMeta - interface
DataGridContextProps - interface
DataGridProps - interface
DataGridRequestParams - const
filterFnInValues - interface
FilterOption - const
getAppliedFilters - const
getColumnFilterOptions - const
getColumnFilterValues - const
getColumnTitle - const
getFilterableColumns - const
getSortableColumns - const
setColumnFilterValues - const
useDataGrid - const
useDataGridTable
Anatomy
Composition
Builds on
Button, Checkbox, ExpandButton, Flex, Grid, Icon, MenuItem, ScrollArea, Separator, Tag, Toggle, ToggleGroup