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';| Name | Type | Default | Description | 
|---|---|---|---|
| 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  | |
| aria-label | string | The label of the Data Grid. | |
| aria-labelledby | string | The id of the element containing a label for the Data Grid. | |
| autoHeight | bool | false | If  | 
| autoPageSize | bool | false | If  | 
| autosizeOnMount | bool | false | If  | 
| autosizeOptions | { columns?: Array<string>, expand?: bool, includeHeaders?: bool, includeOutliers?: bool, outliersFactor?: number } | The options for autosize when user-initiated. | |
| cellModesModel | object | Controls the modes of the cells. | |
| checkboxSelection | bool | false | If  | 
| checkboxSelectionVisibleOnly | bool | false | If  | 
| classes | object | Override or extend the styles applied to the component. See CSS API below for more details. | |
| clipboardCopyCellDelimiter | string | '\t' | The character used to separate cell values when copying to the clipboard. | 
| columnBuffer | number | 3 | Number of extra columns to be rendered before/after the visible slice. | 
| columnHeaderHeight | number | 56 | Sets the height in pixel of the column headers in the Data Grid. | 
| columnThreshold | number | 3 | Number of rows from the  | 
| columnVisibilityModel | object | Set the column visibility model of the Data Grid. If defined, the Data Grid will ignore the  | |
| defaultGroupingExpansionDepth | number | 0 | 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. | 
| detailPanelExpandedRowIds | Array<number | string> | The row ids to show the detail panel. | |
| disableAutosize | bool | false | If  | 
| disableChildrenFiltering | bool | false | If  | 
| disableChildrenSorting | bool | false | If  | 
| disableColumnFilter | bool | false | If  | 
| disableColumnMenu | bool | false | If  | 
| disableColumnPinning | bool | false | If  | 
| disableColumnReorder | bool | false | If  | 
| disableColumnResize | bool | false | If  | 
| disableColumnSelector | bool | false | If  | 
| disableColumnSorting | bool | false | If  | 
| disableDensitySelector | bool | false | If  | 
| disableEval | bool | false | If  | 
| disableMultipleColumnsFiltering | bool | false | If  | 
| disableMultipleColumnsSorting | bool | false | If  | 
| disableMultipleRowSelection | bool | false (`!props.checkboxSelection` for MIT Data Grid) | If  | 
| disableRowSelectionOnClick | bool | false | If  | 
| disableVirtualization | bool | false | If  | 
| 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  | |
| filterDebounceMs | number | 150 | 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. | |
| getCellClassName | func | Function that applies CSS classes dynamically on cells. Signature: function(params: GridCellParams) => string
 Returns: The CSS class to apply to the cell. | |
| getDetailPanelContent | func | Function that returns the element to render in row detail. Signature: function(params: GridRowParams) => React.JSX.Element
 Returns: The row detail element. | |
| getDetailPanelHeight | func | "() => 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. | 
| getEstimatedRowHeight | func | 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
 Returns: The estimated row height value. If  | |
| getRowClassName | func | Function that applies CSS classes dynamically on rows. Signature: function(params: GridRowClassNameParams) => string
 Returns: The CSS class to apply to the row. | |
| getRowHeight | func | Function that sets the row height per row. Signature: function(params: GridRowHeightParams) => GridRowHeightReturnValue
 Returns: The row height value. If  | |
| getRowId | func | Return the id of a given GridRowModel. | |
| getRowSpacing | func | Function that allows to specify the spacing between rows. Signature: function(params: GridRowSpacingParams) => GridRowSpacing
 Returns: The row spacing values. | |
| getTreeDataPath | func | 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
 Returns: The path to the row. | |
| groupingColDef | func | object | The grouping column used by the tree data. | |
| headerFilters | bool | false | If  | 
| hideFooter | bool | false | If  | 
| hideFooterPagination | bool | false | If  | 
| hideFooterRowCount | bool | false | If  | 
| hideFooterSelectedRowCount | bool | false | If  | 
| ignoreDiacritics | bool | false | If  | 
| ignoreValueFormatterDuringExport | { clipboardExport?: bool, csvExport?: bool } | bool | false | If  | 
| initialState | object | 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  | |
| isCellEditable | func | 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. | |
| isGroupExpandedByDefault | func | Determines if a group should be expanded after its creation. This prop takes priority over the  Signature: function(node: GridGroupNode) => boolean
 Returns: A boolean indicating if the group is expanded. | |
| isRowSelectable | func | Determines if a row can be selected. Signature: function(params: GridRowParams) => boolean
 Returns: A boolean indicating if the cell is selectable. | |
| keepColumnPositionIfDraggedOutside | bool | false | If  | 
| keepNonExistentRowsSelected | bool | false | If  | 
| loading | bool | If  | |
| localeText | object | 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. | 
| nonce | string | Nonce of the inline styles for Content Security Policy. | |
| onCellClick | func | Callback fired when any cell is clicked. Signature: function(params: GridCellParams, event: MuiEvent
 | |
| onCellDoubleClick | func | Callback fired when a double click event comes from a cell element. Signature: function(params: GridCellParams, event: MuiEvent
 | |
| onCellEditStart | func | Callback fired when the cell turns to edit mode. Signature: function(params: GridCellParams, event: MuiEvent
 | |
| onCellEditStop | func | Callback fired when the cell turns to view mode. Signature: function(params: GridCellParams, event: MuiEvent
 | |
| onCellKeyDown | func | Callback fired when a keydown event comes from a cell element. Signature: function(params: GridCellParams, event: MuiEvent
 | |
| onCellModesModelChange | func | Callback fired when the  Signature: function(cellModesModel: GridCellModesModel, details: GridCallbackDetails) => void
 | |
| onClipboardCopy | func | Callback called when the data is copied to the clipboard. Signature: function(data: string) => void
 | |
| onColumnHeaderClick | func | Callback fired when a click event comes from a column header element. Signature: function(params: GridColumnHeaderParams, event: MuiEvent
 | |
| onColumnHeaderDoubleClick | func | Callback fired when a double click event comes from a column header element. Signature: function(params: GridColumnHeaderParams, event: MuiEvent
 | |
| onColumnHeaderEnter | func | Callback fired when a mouse enter event comes from a column header element. Signature: function(params: GridColumnHeaderParams, event: MuiEvent
 | |
| onColumnHeaderLeave | func | Callback fired when a mouse leave event comes from a column header element. Signature: function(params: GridColumnHeaderParams, event: MuiEvent
 | |
| onColumnHeaderOut | func | Callback fired when a mouseout event comes from a column header element. Signature: function(params: GridColumnHeaderParams, event: MuiEvent
 | |
| onColumnHeaderOver | func | Callback fired when a mouseover event comes from a column header element. Signature: function(params: GridColumnHeaderParams, event: MuiEvent
 | |
| onColumnOrderChange | func | Callback fired when a column is reordered. Signature: function(params: GridColumnOrderChangeParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onColumnResize | func | Callback fired while a column is being resized. Signature: function(params: GridColumnResizeParams, event: MuiEvent
 | |
| onColumnVisibilityModelChange | func | Callback fired when the column visibility model changes. Signature: function(model: GridColumnVisibilityModel, details: GridCallbackDetails) => void
 | |
| onColumnWidthChange | func | Callback fired when the width of a column is changed. Signature: function(params: GridColumnResizeParams, event: MuiEvent
 | |
| onDetailPanelExpandedRowIdsChange | func | Callback fired when the detail panel of a row is opened or closed. Signature: function(ids: Array
 | |
| onFetchRows | func | Callback fired when rowCount is set and the next batch of virtualized rows is rendered. Signature: function(params: GridFetchRowsParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onFilterModelChange | func | Callback fired when the Filter model changes before the filters are applied. Signature: function(model: GridFilterModel, details: GridCallbackDetails) => void
 | |
| onMenuClose | func | Callback fired when the menu is closed. Signature: function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onMenuOpen | func | Callback fired when the menu is opened. Signature: function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onPaginationModelChange | func | Callback fired when the pagination model has changed. Signature: function(model: GridPaginationModel, details: GridCallbackDetails) => void
 | |
| onPinnedColumnsChange | func | Callback fired when the pinned columns have changed. Signature: function(pinnedColumns: GridPinnedColumnFields, details: GridCallbackDetails) => void
 | |
| onPreferencePanelClose | func | Callback fired when the preferences panel is closed. Signature: function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onPreferencePanelOpen | func | Callback fired when the preferences panel is opened. Signature: function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onProcessRowUpdateError | func | Callback called when  Signature: function(error: any) => void
 | |
| onResize | func | Callback fired when the Data Grid is resized. Signature: function(containerSize: ElementSize, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onRowClick | func | 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
 | |
| onRowDoubleClick | func | Callback fired when a double click event comes from a row container element. Signature: function(params: GridRowParams, event: MuiEvent
 | |
| onRowEditStart | func | Callback fired when the row turns to edit mode. Signature: function(params: GridRowParams, event: MuiEvent
 | |
| onRowEditStop | func | Callback fired when the row turns to view mode. Signature: function(params: GridRowParams, event: MuiEvent
 | |
| onRowModesModelChange | func | Callback fired when the  Signature: function(rowModesModel: GridRowModesModel, details: GridCallbackDetails) => void
 | |
| onRowOrderChange | func | Callback fired when a row is being reordered. Signature: function(params: GridRowOrderChangeParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onRowSelectionModelChange | func | Callback fired when the selection state of one or multiple rows changes. Signature: function(rowSelectionModel: GridRowSelectionModel, details: GridCallbackDetails) => void
 | |
| onRowsScrollEnd | func | Callback fired when scrolling to the bottom of the grid viewport. Signature: function(params: GridRowScrollEndParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
 | |
| onSortModelChange | func | Callback fired when the sort model changes before a column is sorted. Signature: function(model: GridSortModel, details: GridCallbackDetails) => void
 | |
| pageSizeOptions | Array<number | { label: string, value: number }> | [25, 50, 100] | Select the pageSize dynamically using the component UI. | 
| pagination | bool | false | If  | 
| 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  | |
| pinnedColumns | object | 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. | |
| processRowUpdate | func | Callback called before updating a row with new values in the row and cell editing. Signature: function(newRow: R, oldRow: R) => Promise
 Returns: The final values to update the row. | |
| rowBuffer | number | 3 | Number of extra rows to be rendered before/after the visible slice. | 
| rowCount | number | Set the total number of rows, if it is different from the length of the value  | |
| rowHeight | number | 52 | Sets the height in pixel of a row in the Data Grid. | 
| rowModesModel | object | Controls the modes of the rows. | |
| rowPositionsDebounceMs | number | 166 | 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. | 
| rowReordering | bool | false | If  | 
| rowSelection | bool | true | If  | 
| rowSelectionModel | Array<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  | 
| rowThreshold | number | 3 | Number of rows from the  | 
| scrollbarSize | number | Override the height/width of the Data Grid inner scrollbar. | |
| scrollEndThreshold | number | 80 | Set the area in  | 
| showCellVerticalBorder | bool | false | If  | 
| showColumnVerticalBorder | bool | false | If  | 
| slotProps | object | Overridable components props dynamically passed to the component at rendering. | |
| slots | object | 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. | 
| sortingOrder | Array<'asc' | 'desc'> | ['asc', 'desc', null] | The order of the sorting sequence. | 
| sortModel | Array<{ field: string, sort?: 'asc' | 'desc' }> | Set the sort model of the Data Grid. | |
| sx | Array<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. | |
| throttleRowsMs | number | 0 | If positive, the Data Grid will throttle updates coming from  | 
| treeData | bool | false | If  | 
ref is forwarded to the root element.These class names are useful for styling with CSS. They are applied to the component's slots when specific states are triggered.
| Class name | Rule name | Description | 
|---|---|---|
| .MuiDataGridPro-actionsCell | actionsCell | Styles applied to the root element of the cell with type="actions". | 
| .MuiDataGridPro-aggregationColumnHeader | aggregationColumnHeader | Styles applied to the root element of the column header when aggregated. | 
| .MuiDataGridPro-aggregationColumnHeader--alignCenter | aggregationColumnHeader--alignCenter | Styles applied to the root element of the header when aggregation if headerAlign="center". | 
| .MuiDataGridPro-aggregationColumnHeader--alignLeft | aggregationColumnHeader--alignLeft | Styles applied to the root element of the header when aggregation if headerAlign="left". | 
| .MuiDataGridPro-aggregationColumnHeader--alignRight | aggregationColumnHeader--alignRight | Styles applied to the root element of the header when aggregation if headerAlign="right". | 
| .MuiDataGridPro-aggregationColumnHeaderLabel | aggregationColumnHeaderLabel | Styles applied to the aggregation label in the column header when aggregated. | 
| .MuiDataGridPro-autoHeight | autoHeight | Styles applied to the root element if autoHeight={true}. | 
| .MuiDataGridPro-autosizing | autosizing | Styles applied to the root element while it is being autosized. | 
| .MuiDataGridPro-booleanCell | booleanCell | Styles applied to the icon of the boolean cell. | 
| .MuiDataGridPro-cell | cell | Styles applied to the cell element. | 
| .MuiDataGridPro-cell--editable | cell--editable | Styles applied to the cell element if the cell is editable. | 
| .MuiDataGridPro-cell--editing | cell--editing | Styles applied to the cell element if the cell is in edit mode. | 
| .MuiDataGridPro-cell--pinnedLeft | cell--pinnedLeft | Styles applied to the cell element if it is pinned to the left. | 
| .MuiDataGridPro-cell--pinnedRight | cell--pinnedRight | Styles applied to the cell element if it is pinned to the right. | 
| .MuiDataGridPro-cell--rangeBottom | cell--rangeBottom | Styles applied to the cell element if it is at the bottom edge of a cell selection range. | 
| .MuiDataGridPro-cell--rangeLeft | cell--rangeLeft | Styles applied to the cell element if it is at the left edge of a cell selection range. | 
| .MuiDataGridPro-cell--rangeRight | cell--rangeRight | Styles applied to the cell element if it is at the right edge of a cell selection range. | 
| .MuiDataGridPro-cell--rangeTop | cell--rangeTop | Styles applied to the cell element if it is at the top edge of a cell selection range. | 
| .MuiDataGridPro-cell--selectionMode | cell--selectionMode | Styles applied to the cell element if it is in a cell selection range. | 
| .MuiDataGridPro-cell--textCenter | cell--textCenter | Styles applied to the cell element if align="center". | 
| .MuiDataGridPro-cell--textLeft | cell--textLeft | Styles applied to the cell element if align="left". | 
| .MuiDataGridPro-cell--textRight | cell--textRight | Styles applied to the cell element if align="right". | 
| .MuiDataGridPro-cell--withLeftBorder | cell--withLeftBorder | Styles applied the cell if showColumnVerticalBorder={true}. | 
| .MuiDataGridPro-cell--withRenderer | cell--withRenderer | Styles applied to the cell element if the cell has a custom renderer. | 
| .MuiDataGridPro-cell--withRightBorder | cell--withRightBorder | Styles applied the cell if showColumnVerticalBorder={true}. | 
| .MuiDataGridPro-cellCheckbox | cellCheckbox | Styles applied to the cell checkbox element. | 
| .MuiDataGridPro-cellContent | cellContent | Styles applied to the element that wraps the cell content. | 
| .MuiDataGridPro-cellEmpty | cellEmpty | Styles applied to the empty cell element. | 
| .MuiDataGridPro-cellSkeleton | cellSkeleton | Styles applied to the skeleton cell element. | 
| .MuiDataGridPro-checkboxInput | checkboxInput | Styles applied to the selection checkbox element. | 
| .MuiDataGridPro-columnGroupHeader | columnGroupHeader | Styles applied to the column group header element. | 
| .MuiDataGridPro-columnHeader | columnHeader | Styles applied to the column header element. | 
| .MuiDataGridPro-columnHeader--alignCenter | columnHeader--alignCenter | Styles applied to the column header if headerAlign="center". | 
| .MuiDataGridPro-columnHeader--alignLeft | columnHeader--alignLeft | Styles applied to the column header if headerAlign="left". | 
| .MuiDataGridPro-columnHeader--alignRight | columnHeader--alignRight | Styles applied to the column header if headerAlign="right". | 
| .MuiDataGridPro-columnHeader--dragging | columnHeader--dragging | Styles applied to the floating column header element when it is dragged. | 
| .MuiDataGridPro-columnHeader--emptyGroup | columnHeader--emptyGroup | Styles applied to the empty column group header cell. | 
| .MuiDataGridPro-columnHeader--filledGroup | columnHeader--filledGroup | Styles applied to the column group header cell if not empty. | 
| .MuiDataGridPro-columnHeader--filtered | columnHeader--filtered | Styles applied to the column header if the column has a filter applied to it. | 
| .MuiDataGridPro-columnHeader--moving | columnHeader--moving | Styles applied to the column header if it is being dragged. | 
| .MuiDataGridPro-columnHeader--numeric | columnHeader--numeric | Styles applied to the column header if the type of the column is number. | 
| .MuiDataGridPro-columnHeader--showColumnBorder | columnHeader--showColumnBorder | Styles applied to the column group header cell when show column border. | 
| .MuiDataGridPro-columnHeader--sortable | columnHeader--sortable | Styles applied to the column header if the column is sortable. | 
| .MuiDataGridPro-columnHeader--sorted | columnHeader--sorted | Styles applied to the column header if the column is sorted. | 
| .MuiDataGridPro-columnHeader--withRightBorder | columnHeader--withRightBorder | Styles applied the column header if showColumnVerticalBorder={true}. | 
| .MuiDataGridPro-columnHeaderCheckbox | columnHeaderCheckbox | Styles applied to the header checkbox cell element. | 
| .MuiDataGridPro-columnHeaderDraggableContainer | columnHeaderDraggableContainer | Styles applied to the column header's draggable container element. | 
| .MuiDataGridPro-columnHeaderDropZone | columnHeaderDropZone | Styles applied to the column headers wrapper if a column is being dragged. | 
| .MuiDataGridPro-columnHeaders | columnHeaders | Styles applied to the column headers. | 
| .MuiDataGridPro-columnHeadersInner | columnHeadersInner | Styles applied to the column headers's inner element. | 
| .MuiDataGridPro-columnHeadersInner--scrollable | columnHeadersInner--scrollable | Styles applied to the column headers's inner element if there is a horizontal scrollbar. | 
| .MuiDataGridPro-columnHeaderTitle | columnHeaderTitle | Styles applied to the column header's title element; | 
| .MuiDataGridPro-columnHeaderTitleContainer | columnHeaderTitleContainer | Styles applied to the column header's title container element. | 
| .MuiDataGridPro-columnHeaderTitleContainerContent | columnHeaderTitleContainerContent | Styles applied to the column header's title excepted buttons. | 
| .MuiDataGridPro-columnSeparator | columnSeparator | Styles applied to the column header separator element. | 
| .MuiDataGridPro-columnSeparator--resizable | columnSeparator--resizable | Styles applied to the column header separator if the column is resizable. | 
| .MuiDataGridPro-columnSeparator--resizing | columnSeparator--resizing | Styles applied to the column header separator if the column is being resized. | 
| .MuiDataGridPro-columnSeparator--sideLeft | columnSeparator--sideLeft | Styles applied to the column header separator if the side is "left". | 
| .MuiDataGridPro-columnSeparator--sideRight | columnSeparator--sideRight | Styles applied to the column header separator if the side is "right". | 
| .MuiDataGridPro-columnsManagement | columnsManagement | Styles applied to the columns management body. | 
| .MuiDataGridPro-columnsManagementFooter | columnsManagementFooter | Styles applied to the columns management footer element. | 
| .MuiDataGridPro-columnsManagementHeader | columnsManagementHeader | Styles applied to the columns management header element. | 
| .MuiDataGridPro-columnsManagementRow | columnsManagementRow | Styles applied to the columns management row element. | 
| .MuiDataGridPro-container--bottom | container--bottom | Styles applied to the bottom container. | 
| .MuiDataGridPro-container--top | container--top | Styles applied to the top container. | 
| .MuiDataGridPro-detailPanel | detailPanel | Styles applied to the detail panel element. | 
| .MuiDataGridPro-detailPanels | detailPanels | Styles applied to the detail panels wrapper element. | 
| .MuiDataGridPro-detailPanelToggleCell | detailPanelToggleCell | Styles applied to the detail panel toggle cell element. | 
| .MuiDataGridPro-detailPanelToggleCell--expanded | detailPanelToggleCell--expanded | Styles applied to the detail panel toggle cell element if expanded. | 
| .MuiDataGridPro-editBooleanCell | editBooleanCell | Styles applied to root of the boolean edit component. | 
| .MuiDataGridPro-editInputCell | editInputCell | Styles applied to the root of the input component. | 
| .MuiDataGridPro-filler | filler | Styles applied to the filler row. | 
| .MuiDataGridPro-filler--pinnedLeft | filler--pinnedLeft | Styles applied to the filler row pinned left section. | 
| .MuiDataGridPro-filler--pinnedRight | filler--pinnedRight | Styles applied to the filler row pinned right section. | 
| .MuiDataGridPro-filterForm | filterForm | Styles applied to the root of the filter form component. | 
| .MuiDataGridPro-filterFormColumnInput | filterFormColumnInput | Styles applied to the column input of the filter form component. | 
| .MuiDataGridPro-filterFormDeleteIcon | filterFormDeleteIcon | Styles applied to the delete icon of the filter form component. | 
| .MuiDataGridPro-filterFormLogicOperatorInput | filterFormLogicOperatorInput | Styles applied to the link operator input of the filter form component. | 
| .MuiDataGridPro-filterFormOperatorInput | filterFormOperatorInput | Styles applied to the operator input of the filter form component. | 
| .MuiDataGridPro-filterFormValueInput | filterFormValueInput | Styles applied to the value input of the filter form component. | 
| .MuiDataGridPro-filterIcon | filterIcon | Styles applied to the filter icon element. | 
| .MuiDataGridPro-footerCell | footerCell | Styles applied to the root element of the cell inside a footer row. | 
| .MuiDataGridPro-footerContainer | footerContainer | Styles applied to the footer container element. | 
| .MuiDataGridPro-groupingCriteriaCell | groupingCriteriaCell | Styles applied to the root element of the grouping criteria cell | 
| .MuiDataGridPro-groupingCriteriaCellToggle | groupingCriteriaCellToggle | Styles applied to the toggle of the grouping criteria cell | 
| .MuiDataGridPro-headerFilterRow | headerFilterRow | Styles applied to the column header filter row. | 
| .MuiDataGridPro-iconButtonContainer | iconButtonContainer | Styles applied to the column header icon's container. | 
| .MuiDataGridPro-iconSeparator | iconSeparator | Styles applied to the column header separator icon element. | 
| .MuiDataGridPro-main | main | Styles applied to the main container element. | 
| .MuiDataGridPro-main--hasPinnedRight | main--hasPinnedRight | Styles applied to the main container element when it has right pinned columns. | 
| .MuiDataGridPro-menu | menu | Styles applied to the menu element. | 
| .MuiDataGridPro-menuIcon | menuIcon | Styles applied to the menu icon element. | 
| .MuiDataGridPro-menuIconButton | menuIconButton | Styles applied to the menu icon button element. | 
| .MuiDataGridPro-menuList | menuList | Styles applied to the menu list element. | 
| .MuiDataGridPro-menuOpen | menuOpen | Styles applied to the menu icon element if the menu is open. | 
| .MuiDataGridPro-overlay | overlay | Styles applied to the overlay element. | 
| .MuiDataGridPro-overlayWrapper | overlayWrapper | Styles applied to the overlay wrapper element. | 
| .MuiDataGridPro-overlayWrapperInner | overlayWrapperInner | Styles applied to the overlay wrapper inner element. | 
| .MuiDataGridPro-panel | panel | Styles applied to the panel element. | 
| .MuiDataGridPro-panelContent | panelContent | Styles applied to the panel content element. | 
| .MuiDataGridPro-panelFooter | panelFooter | Styles applied to the panel footer element. | 
| .MuiDataGridPro-panelHeader | panelHeader | Styles applied to the panel header element. | 
| .MuiDataGridPro-panelWrapper | panelWrapper | Styles applied to the panel wrapper element. | 
| .MuiDataGridPro-paper | paper | Styles applied to the paper element. | 
| .MuiDataGridPro-pinnedColumnHeaders | pinnedColumnHeaders | Styles applied to the pinned column headers. | 
| .MuiDataGridPro-pinnedColumnHeaders--left | pinnedColumnHeaders--left | Styles applied to the left pinned column headers. | 
| .MuiDataGridPro-pinnedColumnHeaders--right | pinnedColumnHeaders--right | Styles applied to the right pinned column headers. | 
| .MuiDataGridPro-pinnedColumns | pinnedColumns | Styles applied to the pinned columns. | 
| .MuiDataGridPro-pinnedRows | pinnedRows | Styles applied to the pinned rows container. | 
| .MuiDataGridPro-pinnedRows--bottom | pinnedRows--bottom | Styles applied to the bottom pinned rows container. | 
| .MuiDataGridPro-pinnedRows--top | pinnedRows--top | Styles applied to the top pinned rows container. | 
| .MuiDataGridPro-pinnedRowsRenderZone | pinnedRowsRenderZone | Styles applied to pinned rows render zones. | 
| .MuiDataGridPro-root | root | Styles applied to the root element. | 
| .MuiDataGridPro-root--densityComfortable | root--densityComfortable | Styles applied to the root element if density is "comfortable". | 
| .MuiDataGridPro-root--densityCompact | root--densityCompact | Styles applied to the root element if density is "compact". | 
| .MuiDataGridPro-root--densityStandard | root--densityStandard | Styles applied to the root element if density is "standard" (default). | 
| .MuiDataGridPro-root--disableUserSelection | root--disableUserSelection | Styles applied to the root element when user selection is disabled. | 
| .MuiDataGridPro-row | row | Styles applied to the row element. | 
| .MuiDataGridPro-row--detailPanelExpanded | row--detailPanelExpanded | Styles applied to the row if its detail panel is open. | 
| .MuiDataGridPro-row--dragging | row--dragging | Styles applied to the floating special row reorder cell element when it is dragged. | 
| .MuiDataGridPro-row--dynamicHeight | row--dynamicHeight | Styles applied to the row if it has dynamic row height. | 
| .MuiDataGridPro-row--editable | row--editable | Styles applied to the row element if the row is editable. | 
| .MuiDataGridPro-row--editing | row--editing | Styles applied to the row element if the row is in edit mode. | 
| .MuiDataGridPro-row--firstVisible | row--firstVisible | Styles applied to the first visible row element on every page of the grid. | 
| .MuiDataGridPro-row--lastVisible | row--lastVisible | Styles applied to the last visible row element on every page of the grid. | 
| .MuiDataGridPro-rowCount | rowCount | Styles applied to the footer row count element to show the total number of rows. Only works when pagination is disabled. | 
| .MuiDataGridPro-rowReorderCell | rowReorderCell | Styles applied to the root element of the row reorder cell | 
| .MuiDataGridPro-rowReorderCell--draggable | rowReorderCell--draggable | Styles applied to the root element of the row reorder cell when dragging is allowed | 
| .MuiDataGridPro-rowReorderCellContainer | rowReorderCellContainer | Styles applied to the row reorder cell container element. | 
| .MuiDataGridPro-rowReorderCellPlaceholder | rowReorderCellPlaceholder | Styles applied to the row's draggable placeholder element inside the special row reorder cell. | 
| .MuiDataGridPro-scrollArea | scrollArea | Styles applied to both scroll area elements. | 
| .MuiDataGridPro-scrollArea--left | scrollArea--left | Styles applied to the left scroll area element. | 
| .MuiDataGridPro-scrollArea--right | scrollArea--right | Styles applied to the right scroll area element. | 
| .MuiDataGridPro-scrollbar | scrollbar | Styles applied to the scrollbars. | 
| .MuiDataGridPro-scrollbar--horizontal | scrollbar--horizontal | Styles applied to the horizontal scrollbar. | 
| .MuiDataGridPro-scrollbar--vertical | scrollbar--vertical | Styles applied to the horizontal scrollbar. | 
| .MuiDataGridPro-selectedRowCount | selectedRowCount | Styles applied to the footer selected row count element. | 
| .MuiDataGridPro-sortIcon | sortIcon | Styles applied to the sort icon element. | 
| .MuiDataGridPro-toolbarContainer | toolbarContainer | Styles applied to the toolbar container element. | 
| .MuiDataGridPro-toolbarFilterList | toolbarFilterList | Styles applied to the toolbar filter list element. | 
| .MuiDataGridPro-treeDataGroupingCell | treeDataGroupingCell | Styles applied to the root of the grouping column of the tree data. | 
| .MuiDataGridPro-treeDataGroupingCellToggle | treeDataGroupingCellToggle | Styles applied to the toggle of the grouping cell of the tree data. | 
| .MuiDataGridPro-virtualScroller | virtualScroller | Styles applied to the virtualization container. | 
| .MuiDataGridPro-virtualScrollerContent | virtualScrollerContent | Styles applied to the virtualization content. | 
| .MuiDataGridPro-virtualScrollerContent--overflowed | virtualScrollerContent--overflowed | Styles applied to the virtualization content when its height is bigger than the virtualization container. | 
| .MuiDataGridPro-virtualScrollerRenderZone | virtualScrollerRenderZone | Styles applied to the virtualization render zone. | 
| .MuiDataGridPro-withBorderColor | withBorderColor | Styles applied to cells, column header and other elements that have border. Sets border color only. | 
| .MuiDataGridPro-withVerticalBorder | withVerticalBorder | Styles applied the grid if showColumnVerticalBorder={true}. | 
You can override the style of the component using one of these customization options:
- With a global class name.
- With a rule name as part of the component's styleOverridesproperty in a custom theme.