# DataGrid API

> Auto-generated API reference for `DataGrid` from @vuetify/v0 (Vuetify0).
> Source of truth: https://0.vuetifyjs.com/api/data-grid

## Related

- https://0.vuetifyjs.com/components/data/data-grid
- https://0.vuetifyjs.com/composables/data/create-data-grid
- https://0.vuetifyjs.com/composables/data/create-data-table
- https://0.vuetifyjs.com/components/semantic/pagination
- https://0.vuetifyjs.com/components/semantic/splitter

## DataGrid.Root

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |
| `search` | `string \| undefined` | `""` | no | — |

### Events

| Name | Type | Description |
|---|---|---|
| `update:search` | `[value: string]` | — |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridRootSlotProps<T>` | — |

## DataGrid.Body

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridBodySlotProps<T>` | — |

## DataGrid.Cell

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |
| `column` | `string \| undefined` | — | no | Column identifier for editing and span lookup |
| `colspan` | `number \| undefined` | — | no | Number of columns this cell spans. Row spanning owns `rowspan`. |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridCellSlotProps` | — |

## DataGrid.Column

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |
| `id` | `string \| undefined` | — | no | Column id — registers this header with the grid when set |
| `sortable` | `boolean \| undefined` | — | no | Participate in the sort pipeline |
| `filterable` | `boolean \| undefined` | — | no | Participate in the filter pipeline |
| `size` | `number \| undefined` | — | no | Width as a percentage (0–100) |
| `minSize` | `number \| undefined` | — | no | Minimum width as a percentage |
| `maxSize` | `number \| undefined` | — | no | Maximum width as a percentage |
| `pinned` | `any` | — | no | Pin position |
| `resizable` | `boolean \| undefined` | `true` | no | Allow resizing |
| `editable` | `boolean \| undefined` | — | no | Whether cells in this column can be edited |
| `validate` | `((value: unknown) => string \| true) \| undefined` | — | no | Validate a committed edit. Return `true` or an error string. |
| `colspan` | `number \| undefined` | — | no | Number of columns this cell spans |
| `rowspan` | `number \| undefined` | — | no | Number of rows this cell spans |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridColumnSlotProps` | — |

## DataGrid.Empty

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridEmptySlotProps` | — |

## DataGrid.Handle

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |
| `disabled` | `boolean \| undefined` | `false` | no | Whether the handle is disabled |
| `label` | `string \| undefined` | — | no | Accessible label for the resize handle |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridHandleSlotProps` | — |

## DataGrid.Header

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridHeaderSlotProps` | — |

## DataGrid.Row

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |
| `id` | `any` | — | no | Row identifier. Registers a data ticket when set with `value`. |
| `value` | `object \| undefined` | — | no | Row value to register. Omit on header rows. |
| `index` | `number \| undefined` | — | no | 1-based aria-rowindex. Defaults to the row's position in orderedItems. |
| `selectable` | `boolean \| undefined` | `false` | no | Emit aria-selected. |
| `resizable` | `boolean \| undefined` | `false` | no | Enable column resizing via Splitter composition. When true, the row renders as Splitter.Root and child columns register as Splitter.Panel. Place DataGrid.Handle inside Column (not as a sibling of Column) so the row's owned children stay columnheaders. Requires the `as="div"` chain — native table tags cannot host Splitter. |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridRowSlotProps` | — |

## DataGrid.Table

### Props

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `namespace` | `string \| undefined` | `"v0:data-grid"` | no | Namespace for dependency injection. |

### Slots

| Name | Type | Description |
|---|---|---|
| `default` | `DataGridTableSlotProps` | — |
