Skip to content

DataGridPro API

API reference docs for the React DataGridPro component. Learn about the props, CSS, and other APIs of this exported module.

Component demos

Import

import { DataGridPro } from '@mui/x-data-grid-pro/DataGridPro';
// or
import { DataGridPro } from '@mui/x-data-grid-pro';
// or
import { DataGridPro } from '@mui/x-data-grid-premium';
Learn about the difference by reading this guide on minimizing bundle size.

Props

NameTypeDefaultDescription
columns*Array<object>

Set of columns of type GridColDef[].

rows*Array<object>

Set of rows of type GridRowsProp.

apiRef{ current: object }

The ref object that allows grid manipulation. Can be instantiated with useGridApiRef().

aria-labelstring

The label of the Data Grid.

aria-labelledbystring

The id of the element containing a label for the Data Grid.

autoHeightboolfalse

If true, the Data Grid height is dynamic and follow the number of rows in the Data Grid.

autoPageSizeboolfalse

If true, the pageSize is calculated according to the container size and the max number of rows to avoid rendering a vertical scroll bar.

autosizeOnMountboolfalse

If true, columns are autosized after the datagrid is mounted.

autosizeOptions{ columns?: Array<string>, expand?: bool, includeHeaders?: bool, includeOutliers?: bool, outliersFactor?: number }

The options for autosize when user-initiated.

cellModesModelobject

Controls the modes of the cells.

checkboxSelectionboolfalse

If true, the Data Grid will display an extra column with checkboxes for selecting rows.

checkboxSelectionVisibleOnlyboolfalse

If true, the "Select All" header checkbox selects only the rows on the current page. To be used in combination with checkboxSelection. It only works if the pagination is enabled.

classesobject

Override or extend the styles applied to the component.

See CSS API below for more details.

clipboardCopyCellDelimiterstring'\t'

The character used to separate cell values when copying to the clipboard.

columnBuffernumber3

Number of extra columns to be rendered before/after the visible slice.

columnHeaderHeightnumber56

Sets the height in pixel of the column headers in the Data Grid.

columnThresholdnumber3

Number of rows from the columnBuffer that can be visible before a new slice is rendered.

columnVisibilityModelobject

Set the column visibility model of the Data Grid. If defined, the Data Grid will ignore the hide property in GridColDef.

defaultGroupingExpansionDepthnumber0

If above 0, the row children will be expanded up to this depth. If equal to -1, all the row children will be expanded.

density'comfortable'
| 'compact'
| 'standard'
"standard"

Set the density of the Data Grid.

detailPanelExpandedRowIdsArray<number
| string>

The row ids to show the detail panel.

disableAutosizeboolfalse

If true, column autosizing on header separator double-click is disabled.

disableChildrenFilteringboolfalse

If true, the filtering will only be applied to the top level rows when grouping rows with the treeData prop.

disableChildrenSortingboolfalse

If true, the sorting will only be applied to the top level rows when grouping rows with the treeData prop.

disableColumnFilterboolfalse

If true, column filters are disabled.

disableColumnMenuboolfalse

If true, the column menu is disabled.

disableColumnPinningboolfalse

If true, the column pinning is disabled.

disableColumnReorderboolfalse

If true, reordering columns is disabled.

disableColumnResizeboolfalse

If true, resizing columns is disabled.

disableColumnSelectorboolfalse

If true, hiding/showing columns is disabled.

disableColumnSortingboolfalse

If true, the column sorting feature will be disabled.

disableDensitySelectorboolfalse

If true, the density selector is disabled.

disableEvalboolfalse

If true, eval() is not used for performance optimization.

disableMultipleColumnsFilteringboolfalse

If true, filtering with multiple columns is disabled.

disableMultipleColumnsSortingboolfalse

If true, the sorting with multiple columns is disabled.

disableMultipleRowSelectionboolfalse (`!props.checkboxSelection` for MIT Data Grid)

If true, multiple selection using the Ctrl/CMD or Shift key is disabled. The MIT DataGrid will ignore this prop, unless checkboxSelection is enabled.

disableRowSelectionOnClickboolfalse

If true, the selection on click on a row or cell is disabled.

disableVirtualizationboolfalse

If true, the virtualization is disabled.

editMode'cell'
| 'row'
"cell"

Controls whether to use the cell or row editing.

experimentalFeatures{ lazyLoading?: bool, warnIfFocusStateIsNotSynced?: bool }

Unstable features, breaking changes might be introduced. For each feature, if the flag is not explicitly set to true, the feature will be fully disabled and any property / method call will not have any effect.

filterDebounceMsnumber150

The milliseconds delay to wait after a keystroke before triggering filtering.

filterMode'client'
| 'server'
"client"

Filtering can be processed on the server or client-side. Set it to 'server' if you would like to handle filtering on the server-side.

filterModel{ items: Array<{ field: string, id?: number
| string, operator: string, value?: any }>, logicOperator?: 'and'
| 'or', quickFilterExcludeHiddenColumns?: bool, quickFilterLogicOperator?: 'and'
| 'or', quickFilterValues?: array }

Set the filter model of the Data Grid.

getCellClassNamefunc

Function that applies CSS classes dynamically on cells.

Signature:function(params: GridCellParams) => string

Returns: The CSS class to apply to the cell.

getDetailPanelContentfunc

Function that returns the element to render in row detail.

Signature:function(params: GridRowParams) => React.JSX.Element

Returns: The row detail element.

getDetailPanelHeightfunc"() => 500"

Function that returns the height of the row detail panel.

Signature:function(params: GridRowParams) => number | string

Returns: The height in pixels or "auto" to use the content height.

getEstimatedRowHeightfunc

Function that returns the estimated height for a row. Only works if dynamic row height is used. Once the row height is measured this value is discarded.

Signature:function(params: GridRowHeightParams) => number | null
  • params With all properties from GridRowHeightParams.

Returns: The estimated row height value. If null or undefined then the default row height, based on the density, is applied.

getRowClassNamefunc

Function that applies CSS classes dynamically on rows.

Signature:function(params: GridRowClassNameParams) => string

Returns: The CSS class to apply to the row.

getRowHeightfunc

Function that sets the row height per row.

Signature:function(params: GridRowHeightParams) => GridRowHeightReturnValue
  • params With all properties from GridRowHeightParams.

Returns: The row height value. If null or undefined then the default row height is applied. If "auto" then the row height is calculated based on the content.

getRowIdfunc

Return the id of a given GridRowModel.

getRowSpacingfunc

Function that allows to specify the spacing between rows.

Signature:function(params: GridRowSpacingParams) => GridRowSpacing

Returns: The row spacing values.

getTreeDataPathfunc

Determines the path of a row in the tree data. For instance, a row with the path ["A", "B"] is the child of the row with the path ["A"]. Note that all paths must contain at least one element.

Signature:function(row: R) => Array
  • row The row from which we want the path.

Returns: The path to the row.

groupingColDeffunc
| object

The grouping column used by the tree data.

headerFiltersboolfalse

If true, enables the data grid filtering on header feature.

hideFooterboolfalse

If true, the footer component is hidden.

hideFooterPaginationboolfalse

If true, the pagination component in the footer is hidden.

hideFooterRowCountboolfalse

If true, the row count in the footer is hidden. It has no effect if the pagination is enabled.

hideFooterSelectedRowCountboolfalse

If true, the selected row count in the footer is hidden.

ignoreDiacriticsboolfalse

If true, the diacritics (accents) are ignored when filtering or quick filtering. E.g. when filter value is cafe, the rows with café will be visible.

ignoreValueFormatterDuringExport{ clipboardExport?: bool, csvExport?: bool }
| bool
false

If true, the Data Grid will not use valueFormatter when exporting to CSV or copying to clipboard. If an object is provided, you can choose to ignore the valueFormatter for CSV export or clipboard export.

initialStateobject

The initial state of the DataGridPro. The data in it will be set in the state on initialization but will not be controlled. If one of the data in initialState is also being controlled, then the control state wins.

isCellEditablefunc

Callback fired when a cell is rendered, returns true if the cell is editable.

Signature:function(params: GridCellParams) => boolean

Returns: A boolean indicating if the cell is editable.

isGroupExpandedByDefaultfunc

Determines if a group should be expanded after its creation. This prop takes priority over the defaultGroupingExpansionDepth prop.

Signature:function(node: GridGroupNode) => boolean
  • node The node of the group to test.

Returns: A boolean indicating if the group is expanded.

isRowSelectablefunc

Determines if a row can be selected.

Signature:function(params: GridRowParams) => boolean

Returns: A boolean indicating if the cell is selectable.

keepColumnPositionIfDraggedOutsideboolfalse

If true, moving the mouse pointer outside the grid before releasing the mouse button in a column re-order action will not cause the column to jump back to its original position.

keepNonExistentRowsSelectedboolfalse

If true, the selection model will retain selected rows that do not exist. Useful when using server side pagination and row selections need to be retained when changing pages.

loadingbool

If true, a loading overlay is displayed.

localeTextobject

Set the locale text of the Data Grid. You can find all the translation keys supported in the source in the GitHub repository.

logger{ debug: func, error: func, info: func, warn: func }console

Pass a custom logger in the components that implements the Logger interface.

logLevel'debug'
| 'error'
| 'info'
| 'warn'
| false
"error" ("warn" in dev mode)

Allows to pass the logging level or false to turn off logging.

noncestring

Nonce of the inline styles for Content Security Policy.

onCellClickfunc

Callback fired when any cell is clicked.

Signature:function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridCellParams.
  • event The event object.
  • details Additional details for this callback.
onCellDoubleClickfunc

Callback fired when a double click event comes from a cell element.

Signature:function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridCellParams.
  • event The event object.
  • details Additional details for this callback.
onCellEditStartfunc

Callback fired when the cell turns to edit mode.

Signature:function(params: GridCellParams, event: MuiEvent) => void
  • params With all properties from GridCellParams.
  • event The event that caused this prop to be called.
onCellEditStopfunc

Callback fired when the cell turns to view mode.

Signature:function(params: GridCellParams, event: MuiEvent) => void
  • params With all properties from GridCellParams.
  • event The event that caused this prop to be called.
onCellKeyDownfunc

Callback fired when a keydown event comes from a cell element.

Signature:function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridCellParams.
  • event The event object.
  • details Additional details for this callback.
onCellModesModelChangefunc

Callback fired when the cellModesModel prop changes.

Signature:function(cellModesModel: GridCellModesModel, details: GridCallbackDetails) => void
  • cellModesModel Object containing which cells are in "edit" mode.
  • details Additional details for this callback.
onClipboardCopyfunc

Callback called when the data is copied to the clipboard.

Signature:function(data: string) => void
  • data The data copied to the clipboard.
onColumnHeaderClickfunc

Callback fired when a click event comes from a column header element.

Signature:function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnHeaderParams.
  • event The event object.
  • details Additional details for this callback.
onColumnHeaderDoubleClickfunc

Callback fired when a double click event comes from a column header element.

Signature:function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnHeaderParams.
  • event The event object.
  • details Additional details for this callback.
onColumnHeaderEnterfunc

Callback fired when a mouse enter event comes from a column header element.

Signature:function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnHeaderParams.
  • event The event object.
  • details Additional details for this callback.
onColumnHeaderLeavefunc

Callback fired when a mouse leave event comes from a column header element.

Signature:function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnHeaderParams.
  • event The event object.
  • details Additional details for this callback.
onColumnHeaderOutfunc

Callback fired when a mouseout event comes from a column header element.

Signature:function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnHeaderParams.
  • event The event object.
  • details Additional details for this callback.
onColumnHeaderOverfunc

Callback fired when a mouseover event comes from a column header element.

Signature:function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnHeaderParams.
  • event The event object.
  • details Additional details for this callback.
onColumnOrderChangefunc

Callback fired when a column is reordered.

Signature:function(params: GridColumnOrderChangeParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridColumnOrderChangeParams.
  • event The event object.
  • details Additional details for this callback.
onColumnResizefunc

Callback fired while a column is being resized.

Signature:function(params: GridColumnResizeParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnResizeParams.
  • event The event object.
  • details Additional details for this callback.
onColumnVisibilityModelChangefunc

Callback fired when the column visibility model changes.

Signature:function(model: GridColumnVisibilityModel, details: GridCallbackDetails) => void
  • model The new model.
  • details Additional details for this callback.
onColumnWidthChangefunc

Callback fired when the width of a column is changed.

Signature:function(params: GridColumnResizeParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridColumnResizeParams.
  • event The event object.
  • details Additional details for this callback.
onDetailPanelExpandedRowIdsChangefunc

Callback fired when the detail panel of a row is opened or closed.

Signature:function(ids: Array, details: GridCallbackDetails) => void
  • ids The ids of the rows which have the detail panel open.
  • details Additional details for this callback.
onFetchRowsfunc

Callback fired when rowCount is set and the next batch of virtualized rows is rendered.

Signature:function(params: GridFetchRowsParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridFetchRowsParams.
  • event The event object.
  • details Additional details for this callback.
onFilterModelChangefunc

Callback fired when the Filter model changes before the filters are applied.

Signature:function(model: GridFilterModel, details: GridCallbackDetails) => void
  • model With all properties from GridFilterModel.
  • details Additional details for this callback.
onMenuClosefunc

Callback fired when the menu is closed.

Signature:function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridMenuParams.
  • event The event object.
  • details Additional details for this callback.
onMenuOpenfunc

Callback fired when the menu is opened.

Signature:function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridMenuParams.
  • event The event object.
  • details Additional details for this callback.
onPaginationModelChangefunc

Callback fired when the pagination model has changed.

Signature:function(model: GridPaginationModel, details: GridCallbackDetails) => void
  • model Updated pagination model.
  • details Additional details for this callback.
onPinnedColumnsChangefunc

Callback fired when the pinned columns have changed.

Signature:function(pinnedColumns: GridPinnedColumnFields, details: GridCallbackDetails) => void
  • pinnedColumns The changed pinned columns.
  • details Additional details for this callback.
onPreferencePanelClosefunc

Callback fired when the preferences panel is closed.

Signature:function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridPreferencePanelParams.
  • event The event object.
  • details Additional details for this callback.
onPreferencePanelOpenfunc

Callback fired when the preferences panel is opened.

Signature:function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridPreferencePanelParams.
  • event The event object.
  • details Additional details for this callback.
onProcessRowUpdateErrorfunc

Callback called when processRowUpdate throws an error or rejects.

Signature:function(error: any) => void
  • error The error thrown.
onResizefunc

Callback fired when the Data Grid is resized.

Signature:function(containerSize: ElementSize, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • containerSize With all properties from ElementSize.
  • event The event object.
  • details Additional details for this callback.
onRowClickfunc

Callback fired when a row is clicked. Not called if the target clicked is an interactive element added by the built-in columns.

Signature:function(params: GridRowParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from GridRowParams.
  • event The event object.
  • details Additional details for this callback.
onRowDoubleClickfunc

Callback fired when a double click event comes from a row container element.

Signature:function(params: GridRowParams, event: MuiEvent, details: GridCallbackDetails) => void
  • params With all properties from RowParams.
  • event The event object.
  • details Additional details for this callback.
onRowEditStartfunc

Callback fired when the row turns to edit mode.

Signature:function(params: GridRowParams, event: MuiEvent) => void
  • params With all properties from GridRowParams.
  • event The event that caused this prop to be called.
onRowEditStopfunc

Callback fired when the row turns to view mode.

Signature:function(params: GridRowParams, event: MuiEvent) => void
  • params With all properties from GridRowParams.
  • event The event that caused this prop to be called.
onRowModesModelChangefunc

Callback fired when the rowModesModel prop changes.

Signature:function(rowModesModel: GridRowModesModel, details: GridCallbackDetails) => void
  • rowModesModel Object containing which rows are in "edit" mode.
  • details Additional details for this callback.
onRowOrderChangefunc

Callback fired when a row is being reordered.

Signature:function(params: GridRowOrderChangeParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridRowOrderChangeParams.
  • event The event object.
  • details Additional details for this callback.
onRowSelectionModelChangefunc

Callback fired when the selection state of one or multiple rows changes.

Signature:function(rowSelectionModel: GridRowSelectionModel, details: GridCallbackDetails) => void
  • rowSelectionModel With all the row ids GridSelectionModel.
  • details Additional details for this callback.
onRowsScrollEndfunc

Callback fired when scrolling to the bottom of the grid viewport.

Signature:function(params: GridRowScrollEndParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
  • params With all properties from GridRowScrollEndParams.
  • event The event object.
  • details Additional details for this callback.
onSortModelChangefunc

Callback fired when the sort model changes before a column is sorted.

Signature:function(model: GridSortModel, details: GridCallbackDetails) => void
  • model With all properties from GridSortModel.
  • details Additional details for this callback.
pageSizeOptionsArray<number
| { label: string, value: number }>
[25, 50, 100]

Select the pageSize dynamically using the component UI.

paginationboolfalse

If true, pagination is enabled.

paginationMode'client'
| 'server'
"client"

Pagination can be processed on the server or client-side. Set it to 'client' if you would like to handle the pagination on the client-side. Set it to 'server' if you would like to handle the pagination on the server-side.

paginationModel{ page: number, pageSize: number }

The pagination model of type GridPaginationModel which refers to current page and pageSize.

pinnedColumnsobject

The column fields to display pinned to left or right.

pinnedRows{ bottom?: Array<object>, top?: Array<object> }

Rows data to pin on top or bottom.

processRowUpdatefunc

Callback called before updating a row with new values in the row and cell editing.

Signature:function(newRow: R, oldRow: R) => Promise | R
  • newRow Row object with the new values.
  • oldRow Row object with the old values.

Returns: The final values to update the row.

rowBuffernumber3

Number of extra rows to be rendered before/after the visible slice.

rowCountnumber

Set the total number of rows, if it is different from the length of the value rows prop. If some rows have children (for instance in the tree data), this number represents the amount of top level rows.

rowHeightnumber52

Sets the height in pixel of a row in the Data Grid.

rowModesModelobject

Controls the modes of the rows.

rowPositionsDebounceMsnumber166

The milliseconds delay to wait after measuring the row height before recalculating row positions. Setting it to a lower value could be useful when using dynamic row height, but might reduce performance when displaying a large number of rows.

rowReorderingboolfalse

If true, the reordering of rows is enabled.

rowSelectionbooltrue

If false, the row selection mode is disabled.

rowSelectionModelArray<number
| string>
| number
| string

Sets the row selection model of the Data Grid.

rowsLoadingMode'client'
| 'server'

Loading rows can be processed on the server or client-side. Set it to 'client' if you would like enable infnite loading. Set it to 'server' if you would like to enable lazy loading. * @default "client"

rowSpacingType'border'
| 'margin'
"margin"

Sets the type of space between rows added by getRowSpacing.

rowThresholdnumber3

Number of rows from the rowBuffer that can be visible before a new slice is rendered.

scrollbarSizenumber

Override the height/width of the Data Grid inner scrollbar.

scrollEndThresholdnumber80

Set the area in px at the bottom of the grid viewport where onRowsScrollEnd is called.

showCellVerticalBorderboolfalse

If true, the vertical borders of the cells are displayed.

showColumnVerticalBorderboolfalse

If true, the right border of the column headers are displayed.

slotPropsobject

Overridable components props dynamically passed to the component at rendering.

slotsobject

Overridable components.

See Slots API below for more details.

sortingMode'client'
| 'server'
"client"

Sorting can be processed on the server or client-side. Set it to 'client' if you would like to handle sorting on the client-side. Set it to 'server' if you would like to handle sorting on the server-side.

sortingOrderArray<'asc'
| 'desc'>
['asc', 'desc', null]

The order of the sorting sequence.

sortModelArray<{ field: string, sort?: 'asc'
| 'desc' }>

Set the sort model of the Data Grid.

sxArray<func
| object
| bool>
| func
| object

The system prop that allows defining system overrides as well as additional CSS styles.

See the `sx` page for more details.

throttleRowsMsnumber0

If positive, the Data Grid will throttle updates coming from apiRef.current.updateRows and apiRef.current.setRows. It can be useful if you have a high update rate but do not want to do heavy work like filtering / sorting or rendering on each individual update.

treeDataboolfalse

If true, the rows will be gathered in a tree structure according to the getTreeDataPath prop.

The ref is forwarded to the root element.

CSS classes

These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.

Class nameRule nameDescription
.MuiDataGridPro-actionsCellactionsCellStyles applied to the root element of the cell with type="actions".
.MuiDataGridPro-aggregationColumnHeaderaggregationColumnHeaderStyles applied to the root element of the column header when aggregated.
.MuiDataGridPro-aggregationColumnHeader--alignCenteraggregationColumnHeader--alignCenterStyles applied to the root element of the header when aggregation if headerAlign="center".
.MuiDataGridPro-aggregationColumnHeader--alignLeftaggregationColumnHeader--alignLeftStyles applied to the root element of the header when aggregation if headerAlign="left".
.MuiDataGridPro-aggregationColumnHeader--alignRightaggregationColumnHeader--alignRightStyles applied to the root element of the header when aggregation if headerAlign="right".
.MuiDataGridPro-aggregationColumnHeaderLabelaggregationColumnHeaderLabelStyles applied to the aggregation label in the column header when aggregated.
.MuiDataGridPro-autoHeightautoHeightStyles applied to the root element if autoHeight={true}.
.MuiDataGridPro-autosizingautosizingStyles applied to the root element while it is being autosized.
.MuiDataGridPro-booleanCellbooleanCellStyles applied to the icon of the boolean cell.
.MuiDataGridPro-cellcellStyles applied to the cell element.
.MuiDataGridPro-cell--editablecell--editableStyles applied to the cell element if the cell is editable.
.MuiDataGridPro-cell--editingcell--editingStyles applied to the cell element if the cell is in edit mode.
.MuiDataGridPro-cell--pinnedLeftcell--pinnedLeftStyles applied to the cell element if it is pinned to the left.
.MuiDataGridPro-cell--pinnedRightcell--pinnedRightStyles applied to the cell element if it is pinned to the right.
.MuiDataGridPro-cell--rangeBottomcell--rangeBottomStyles applied to the cell element if it is at the bottom edge of a cell selection range.
.MuiDataGridPro-cell--rangeLeftcell--rangeLeftStyles applied to the cell element if it is at the left edge of a cell selection range.
.MuiDataGridPro-cell--rangeRightcell--rangeRightStyles applied to the cell element if it is at the right edge of a cell selection range.
.MuiDataGridPro-cell--rangeTopcell--rangeTopStyles applied to the cell element if it is at the top edge of a cell selection range.
.MuiDataGridPro-cell--selectionModecell--selectionModeStyles applied to the cell element if it is in a cell selection range.
.MuiDataGridPro-cell--textCentercell--textCenterStyles applied to the cell element if align="center".
.MuiDataGridPro-cell--textLeftcell--textLeftStyles applied to the cell element if align="left".
.MuiDataGridPro-cell--textRightcell--textRightStyles applied to the cell element if align="right".
.MuiDataGridPro-cell--withLeftBordercell--withLeftBorderStyles applied the cell if showColumnVerticalBorder={true}.
.MuiDataGridPro-cell--withRenderercell--withRendererStyles applied to the cell element if the cell has a custom renderer.
.MuiDataGridPro-cell--withRightBordercell--withRightBorderStyles applied the cell if showColumnVerticalBorder={true}.
.MuiDataGridPro-cellCheckboxcellCheckboxStyles applied to the cell checkbox element.
.MuiDataGridPro-cellContentcellContentStyles applied to the element that wraps the cell content.
.MuiDataGridPro-cellEmptycellEmptyStyles applied to the empty cell element.
.MuiDataGridPro-cellSkeletoncellSkeletonStyles applied to the skeleton cell element.
.MuiDataGridPro-checkboxInputcheckboxInputStyles applied to the selection checkbox element.
.MuiDataGridPro-columnGroupHeadercolumnGroupHeaderStyles applied to the column group header element.
.MuiDataGridPro-columnHeadercolumnHeaderStyles applied to the column header element.
.MuiDataGridPro-columnHeader--alignCentercolumnHeader--alignCenterStyles applied to the column header if headerAlign="center".
.MuiDataGridPro-columnHeader--alignLeftcolumnHeader--alignLeftStyles applied to the column header if headerAlign="left".
.MuiDataGridPro-columnHeader--alignRightcolumnHeader--alignRightStyles applied to the column header if headerAlign="right".
.MuiDataGridPro-columnHeader--draggingcolumnHeader--draggingStyles applied to the floating column header element when it is dragged.
.MuiDataGridPro-columnHeader--emptyGroupcolumnHeader--emptyGroupStyles applied to the empty column group header cell.
.MuiDataGridPro-columnHeader--filledGroupcolumnHeader--filledGroupStyles applied to the column group header cell if not empty.
.MuiDataGridPro-columnHeader--filteredcolumnHeader--filteredStyles applied to the column header if the column has a filter applied to it.
.MuiDataGridPro-columnHeader--movingcolumnHeader--movingStyles applied to the column header if it is being dragged.
.MuiDataGridPro-columnHeader--numericcolumnHeader--numericStyles applied to the column header if the type of the column is number.
.MuiDataGridPro-columnHeader--showColumnBordercolumnHeader--showColumnBorderStyles applied to the column group header cell when show column border.
.MuiDataGridPro-columnHeader--sortablecolumnHeader--sortableStyles applied to the column header if the column is sortable.
.MuiDataGridPro-columnHeader--sortedcolumnHeader--sortedStyles applied to the column header if the column is sorted.
.MuiDataGridPro-columnHeader--withRightBordercolumnHeader--withRightBorderStyles applied the column header if showColumnVerticalBorder={true}.
.MuiDataGridPro-columnHeaderCheckboxcolumnHeaderCheckboxStyles applied to the header checkbox cell element.
.MuiDataGridPro-columnHeaderDraggableContainercolumnHeaderDraggableContainerStyles applied to the column header's draggable container element.
.MuiDataGridPro-columnHeaderDropZonecolumnHeaderDropZoneStyles applied to the column headers wrapper if a column is being dragged.
.MuiDataGridPro-columnHeaderscolumnHeadersStyles applied to the column headers.
.MuiDataGridPro-columnHeadersInnercolumnHeadersInnerStyles applied to the column headers's inner element.
.MuiDataGridPro-columnHeadersInner--scrollablecolumnHeadersInner--scrollableStyles applied to the column headers's inner element if there is a horizontal scrollbar.
.MuiDataGridPro-columnHeaderTitlecolumnHeaderTitleStyles applied to the column header's title element;
.MuiDataGridPro-columnHeaderTitleContainercolumnHeaderTitleContainerStyles applied to the column header's title container element.
.MuiDataGridPro-columnHeaderTitleContainerContentcolumnHeaderTitleContainerContentStyles applied to the column header's title excepted buttons.
.MuiDataGridPro-columnSeparatorcolumnSeparatorStyles applied to the column header separator element.
.MuiDataGridPro-columnSeparator--resizablecolumnSeparator--resizableStyles applied to the column header separator if the column is resizable.
.MuiDataGridPro-columnSeparator--resizingcolumnSeparator--resizingStyles applied to the column header separator if the column is being resized.
.MuiDataGridPro-columnSeparator--sideLeftcolumnSeparator--sideLeftStyles applied to the column header separator if the side is "left".
.MuiDataGridPro-columnSeparator--sideRightcolumnSeparator--sideRightStyles applied to the column header separator if the side is "right".
.MuiDataGridPro-columnsManagementcolumnsManagementStyles applied to the columns management body.
.MuiDataGridPro-columnsManagementFootercolumnsManagementFooterStyles applied to the columns management footer element.
.MuiDataGridPro-columnsManagementHeadercolumnsManagementHeaderStyles applied to the columns management header element.
.MuiDataGridPro-columnsManagementRowcolumnsManagementRowStyles applied to the columns management row element.
.MuiDataGridPro-container--bottomcontainer--bottomStyles applied to the bottom container.
.MuiDataGridPro-container--topcontainer--topStyles applied to the top container.
.MuiDataGridPro-detailPaneldetailPanelStyles applied to the detail panel element.
.MuiDataGridPro-detailPanelsdetailPanelsStyles applied to the detail panels wrapper element.
.MuiDataGridPro-detailPanelToggleCelldetailPanelToggleCellStyles applied to the detail panel toggle cell element.
.MuiDataGridPro-detailPanelToggleCell--expandeddetailPanelToggleCell--expandedStyles applied to the detail panel toggle cell element if expanded.
.MuiDataGridPro-editBooleanCelleditBooleanCellStyles applied to root of the boolean edit component.
.MuiDataGridPro-editInputCelleditInputCellStyles applied to the root of the input component.
.MuiDataGridPro-fillerfillerStyles applied to the filler row.
.MuiDataGridPro-filler--pinnedLeftfiller--pinnedLeftStyles applied to the filler row pinned left section.
.MuiDataGridPro-filler--pinnedRightfiller--pinnedRightStyles applied to the filler row pinned right section.
.MuiDataGridPro-filterFormfilterFormStyles applied to the root of the filter form component.
.MuiDataGridPro-filterFormColumnInputfilterFormColumnInputStyles applied to the column input of the filter form component.
.MuiDataGridPro-filterFormDeleteIconfilterFormDeleteIconStyles applied to the delete icon of the filter form component.
.MuiDataGridPro-filterFormLogicOperatorInputfilterFormLogicOperatorInputStyles applied to the link operator input of the filter form component.
.MuiDataGridPro-filterFormOperatorInputfilterFormOperatorInputStyles applied to the operator input of the filter form component.
.MuiDataGridPro-filterFormValueInputfilterFormValueInputStyles applied to the value input of the filter form component.
.MuiDataGridPro-filterIconfilterIconStyles applied to the filter icon element.
.MuiDataGridPro-footerCellfooterCellStyles applied to the root element of the cell inside a footer row.
.MuiDataGridPro-footerContainerfooterContainerStyles applied to the footer container element.
.MuiDataGridPro-groupingCriteriaCellgroupingCriteriaCellStyles applied to the root element of the grouping criteria cell
.MuiDataGridPro-groupingCriteriaCellTogglegroupingCriteriaCellToggleStyles applied to the toggle of the grouping criteria cell
.MuiDataGridPro-headerFilterRowheaderFilterRowStyles applied to the column header filter row.
.MuiDataGridPro-iconButtonContainericonButtonContainerStyles applied to the column header icon's container.
.MuiDataGridPro-iconSeparatoriconSeparatorStyles applied to the column header separator icon element.
.MuiDataGridPro-mainmainStyles applied to the main container element.
.MuiDataGridPro-main--hasPinnedRightmain--hasPinnedRightStyles applied to the main container element when it has right pinned columns.
.MuiDataGridPro-menumenuStyles applied to the menu element.
.MuiDataGridPro-menuIconmenuIconStyles applied to the menu icon element.
.MuiDataGridPro-menuIconButtonmenuIconButtonStyles applied to the menu icon button element.
.MuiDataGridPro-menuListmenuListStyles applied to the menu list element.
.MuiDataGridPro-menuOpenmenuOpenStyles applied to the menu icon element if the menu is open.
.MuiDataGridPro-overlayoverlayStyles applied to the overlay element.
.MuiDataGridPro-overlayWrapperoverlayWrapperStyles applied to the overlay wrapper element.
.MuiDataGridPro-overlayWrapperInneroverlayWrapperInnerStyles applied to the overlay wrapper inner element.
.MuiDataGridPro-panelpanelStyles applied to the panel element.
.MuiDataGridPro-panelContentpanelContentStyles applied to the panel content element.
.MuiDataGridPro-panelFooterpanelFooterStyles applied to the panel footer element.
.MuiDataGridPro-panelHeaderpanelHeaderStyles applied to the panel header element.
.MuiDataGridPro-panelWrapperpanelWrapperStyles applied to the panel wrapper element.
.MuiDataGridPro-paperpaperStyles applied to the paper element.
.MuiDataGridPro-pinnedColumnHeaderspinnedColumnHeadersStyles applied to the pinned column headers.
.MuiDataGridPro-pinnedColumnHeaders--leftpinnedColumnHeaders--leftStyles applied to the left pinned column headers.
.MuiDataGridPro-pinnedColumnHeaders--rightpinnedColumnHeaders--rightStyles applied to the right pinned column headers.
.MuiDataGridPro-pinnedColumnspinnedColumnsStyles applied to the pinned columns.
.MuiDataGridPro-pinnedRowspinnedRowsStyles applied to the pinned rows container.
.MuiDataGridPro-pinnedRows--bottompinnedRows--bottomStyles applied to the bottom pinned rows container.
.MuiDataGridPro-pinnedRows--toppinnedRows--topStyles applied to the top pinned rows container.
.MuiDataGridPro-pinnedRowsRenderZonepinnedRowsRenderZoneStyles applied to pinned rows render zones.
.MuiDataGridPro-rootrootStyles applied to the root element.
.MuiDataGridPro-root--densityComfortableroot--densityComfortableStyles applied to the root element if density is "comfortable".
.MuiDataGridPro-root--densityCompactroot--densityCompactStyles applied to the root element if density is "compact".
.MuiDataGridPro-root--densityStandardroot--densityStandardStyles applied to the root element if density is "standard" (default).
.MuiDataGridPro-root--disableUserSelectionroot--disableUserSelectionStyles applied to the root element when user selection is disabled.
.MuiDataGridPro-rowrowStyles applied to the row element.
.MuiDataGridPro-row--detailPanelExpandedrow--detailPanelExpandedStyles applied to the row if its detail panel is open.
.MuiDataGridPro-row--draggingrow--draggingStyles applied to the floating special row reorder cell element when it is dragged.
.MuiDataGridPro-row--dynamicHeightrow--dynamicHeightStyles applied to the row if it has dynamic row height.
.MuiDataGridPro-row--editablerow--editableStyles applied to the row element if the row is editable.
.MuiDataGridPro-row--editingrow--editingStyles applied to the row element if the row is in edit mode.
.MuiDataGridPro-row--firstVisiblerow--firstVisibleStyles applied to the first visible row element on every page of the grid.
.MuiDataGridPro-row--lastVisiblerow--lastVisibleStyles applied to the last visible row element on every page of the grid.
.MuiDataGridPro-rowCountrowCountStyles applied to the footer row count element to show the total number of rows. Only works when pagination is disabled.
.MuiDataGridPro-rowReorderCellrowReorderCellStyles applied to the root element of the row reorder cell
.MuiDataGridPro-rowReorderCell--draggablerowReorderCell--draggableStyles applied to the root element of the row reorder cell when dragging is allowed
.MuiDataGridPro-rowReorderCellContainerrowReorderCellContainerStyles applied to the row reorder cell container element.
.MuiDataGridPro-rowReorderCellPlaceholderrowReorderCellPlaceholderStyles applied to the row's draggable placeholder element inside the special row reorder cell.
.MuiDataGridPro-scrollAreascrollAreaStyles applied to both scroll area elements.
.MuiDataGridPro-scrollArea--leftscrollArea--leftStyles applied to the left scroll area element.
.MuiDataGridPro-scrollArea--rightscrollArea--rightStyles applied to the right scroll area element.
.MuiDataGridPro-scrollbarscrollbarStyles applied to the scrollbars.
.MuiDataGridPro-scrollbar--horizontalscrollbar--horizontalStyles applied to the horizontal scrollbar.
.MuiDataGridPro-scrollbar--verticalscrollbar--verticalStyles applied to the horizontal scrollbar.
.MuiDataGridPro-selectedRowCountselectedRowCountStyles applied to the footer selected row count element.
.MuiDataGridPro-sortIconsortIconStyles applied to the sort icon element.
.MuiDataGridPro-toolbarContainertoolbarContainerStyles applied to the toolbar container element.
.MuiDataGridPro-toolbarFilterListtoolbarFilterListStyles applied to the toolbar filter list element.
.MuiDataGridPro-treeDataGroupingCelltreeDataGroupingCellStyles applied to the root of the grouping column of the tree data.
.MuiDataGridPro-treeDataGroupingCellToggletreeDataGroupingCellToggleStyles applied to the toggle of the grouping cell of the tree data.
.MuiDataGridPro-virtualScrollervirtualScrollerStyles applied to the virtualization container.
.MuiDataGridPro-virtualScrollerContentvirtualScrollerContentStyles applied to the virtualization content.
.MuiDataGridPro-virtualScrollerContent--overflowedvirtualScrollerContent--overflowedStyles applied to the virtualization content when its height is bigger than the virtualization container.
.MuiDataGridPro-virtualScrollerRenderZonevirtualScrollerRenderZoneStyles applied to the virtualization render zone.
.MuiDataGridPro-withBorderColorwithBorderColorStyles applied to cells, column header and other elements that have border. Sets border color only.
.MuiDataGridPro-withVerticalBorderwithVerticalBorderStyles applied the grid if showColumnVerticalBorder={true}.

You can override the style of the component using one of these customization options: