Skip to content

GridColDef API

Extended documentation for the GridColDef interface with detailed information on the module's properties and available APIs.

Demos

Import

import { GridColDef } from '@mui/x-data-grid-premium'
// or
import { GridColDef } from '@mui/x-data-grid-pro'
// or
import { GridColDef } from '@mui/x-data-grid'


Column Definition interface.

Properties

The column identifier. It's used to map with GridRowModel values.

Type:string


Optional

If true, the cells of the column can be aggregated based.

Type:boolean

Default:true


Optional

Allows to align the column values in cells.

Type:GridAlignment


Optional

Limit the aggregation function usable on this column.
By default, the column will have all the aggregation functions that are compatible with its type.

Type:string[]


Optional

Class name that will be added in cells for that column.

Type:GridCellClassNamePropType<R, V>


Optional

Number of columns a cell should span.

Type:number | GridColSpanFn<R, V, F>

Default:1


Optional

The description of the column rendered as tooltip if the column header name is not fully displayed.

Type:string


Optional

If true, the column menu is disabled for this column.

Type:boolean

Default:false


Optional

If true, this column will not be included in exports.

Type:boolean

Default:false


Optional

If true, this column cannot be reordered.

Type:boolean

Default:false


Optional

Display mode for the cell:
- 'text': For text-based cells (default)
- 'flex': For cells with HTMLElement children

Type:'text' | 'flex'


Optional

If true, the cells of the column are editable.

Type:boolean

Default:false


Optional

If true, the column is filterable.

Type:boolean

Default:true


Optional

Allows setting the filter operators for this column.

Type:readonly GridFilterOperator<R, V, F>[]


Optional

If set, it indicates that a column has fluid width. Range [0, ∞).

Type:number


Optional

The callback that generates a filtering function for a given quick filter value.
This function can return null to skip filtering for this value and column.

Type:GetApplyQuickFilterFn<R, V>


Optional

Allows to use a different comparator function depending on the sort direction.
Takes precedence over sortComparator.

Type:(sortDirection: GridSortDirection) => GridComparatorFn<V> | undefined


Optional

If true, the rows can be grouped based on this column values (pro-plan only).
Only available in DataGridPremium.

Type:boolean

Default:true


Optional

Function that transforms a complex cell value into a key that be used for grouping the rows.

Type:GridGroupingValueGetter<R>


Optional

Header cell element alignment.

Type:GridAlignment


Optional

Class name that will be added in the column header cell.

Type:GridColumnHeaderClassNamePropType


Optional

The title of the column rendered in the column header cell.

Type:string


Optional

If false, removes the buttons for hiding this column.

Type:boolean

Default:true


Optional

Toggle the visibility of the sort icons.

Type:boolean

Default:false


Optional

Sets the maximum width of a column.

Type:number

Default:Infinity


Optional

Sets the minimum width of a column.

Type:number

Default:50


Optional

Function that takes the clipboard-pasted value and converts it to a value used internally.

Type:GridPastedValueParser<R, V, F>


Optional

If false, the menu items for column pinning menu will not be rendered.
Only available in DataGridPro.

Type:boolean

Default:true


Optional

Callback fired when the edit props of the cell changes.
It allows to process the props that saved into the state.

Type:(params: GridPreProcessEditCellProps) => GridEditCellProps | Promise<GridEditCellProps>


Optional

Allows to override the component rendered as cell for this column.

Type:(params: GridRenderCellParams<R, V, F>) => React.ReactNode


Optional

Allows to override the component rendered in edit cell mode for this column.

Type:(params: GridRenderEditCellParams<R, V, F>) => React.ReactNode


Optional

Allows to render a component in the column header cell.

Type:(params: GridColumnHeaderParams<R, V, F>) => React.ReactNode


Optional

Allows to render a component in the column header filter cell.

Type:(params: GridRenderHeaderFilterProps) => React.ReactNode


Optional

If true, the column is resizable.

Type:boolean

Default:true


Optional

Function that allows to provide a specific value to be used in row spanning.

Type:GridValueGetter<R, V, F>


Optional

If true, the column is sortable.

Type:boolean

Default:true


Optional

A comparator function used to sort rows.

Type:GridComparatorFn<V>


Optional

The order of the sorting sequence.

Type:readonly GridSortDirection[]


Optional

The type of the column.

Type:GridColType

Default:'singleSelect'


Optional

Function that allows to apply a formatter before rendering its value.

Type:GridValueFormatter<R, V, F>


Optional

Function that allows to get a specific data instead of field to render in the cell.

Type:GridValueGetter<R, V, F>


Optional

Function that takes the user-entered value and converts it to a value used internally.

Type:GridValueParser<R, V, F>


Optional

Function that allows to customize how the entered value is stored in the row.
It only works with cell/row editing.

Type:GridValueSetter<R, V, F>


Optional

Set the width of the column.

Type:number

Default:100