---
title: "Grid Options Reference"
framework: react
version: "36.1.0"
---

# Grid Options Reference

Implements the `GridOptions<TData>` interface.

The grid will respond to property updates unless they are marked as `Initial`. See [Updating Grid Options](https://www.ag-grid.com/react-data-grid/grid-interface/#updating-grid-options).

### Accessories

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `toolbar` | `Toolbar` |  |  | Specifies the toolbar items to use in the toolbar. See [Toolbar](https://www.ag-grid.com/react-data-grid/toolbar/) for more information. Module: [`ToolbarModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `statusBar` | `StatusBar` |  |  | Specifies the status bar components to use in the status bar. See [Status Bar](https://www.ag-grid.com/react-data-grid/status-bar/) for more information. Module: [`StatusBarModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `sideBar` | `SideBarDef \| string \| string[] \| boolean \| null` |  |  | Specifies the side bar components. See [Side Bar](https://www.ag-grid.com/react-data-grid/side-bar/) for more information. Module: [`SideBarModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getContextMenuItems` | `GetContextMenuItems` |  |  | For customising the context menu. See [Context Menu](https://www.ag-grid.com/react-data-grid/context-menu/) for more information. Module: [`ContextMenuModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressContextMenu` | `boolean` |  | `false` | Set to `true` to not show the context menu. Use if you don't want to use the default 'right click' context menu. See [Context Menu](https://www.ag-grid.com/react-data-grid/context-menu/) for more information. |
| `preventDefaultOnContextMenu` | `boolean` |  | `false` | When using `suppressContextMenu`, you can use the `onCellContextMenu` function to provide your own code to handle cell `contextmenu` events. This flag is useful to prevent the browser from showing its default context menu. |
| `allowContextMenuWithControlKey` | `boolean` |  | `false` | Allows context menu to show, even when ^ Ctrl key is held down. Default: `false` See [Context Menu](https://www.ag-grid.com/react-data-grid/context-menu/#default-context-menu) for more information. Module: [`ContextMenuModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getMainMenuItems` | `GetMainMenuItems` |  |  | For customising the main 'column header' menu. See [Column Menu](https://www.ag-grid.com/react-data-grid/column-menu/#customising-the-menu-items) for more information. Module: [`ColumnMenuModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `getColumnMenuItems` | `GetColumnMenuItems` |  |  | For customising the menu items shown for a column across the column menu, the Columns Tool Panel right-click menu, and the Column Chooser. The `source` param indicates which surface the menu is for; branch on it to target a single surface. Takes precedence over `getMainMenuItems` for the column menu. See [Column Menu](https://www.ag-grid.com/react-data-grid/column-menu/#customising-the-menu-items) for more information. Modules (any of): [`ColumnMenuModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ColumnsToolPanelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `columnMenu` | `'legacy' \| 'new'` |  | `'new'` | Changes the display type of the column menu. `'new'` just displays the main list of menu items. `'legacy'` displays a tabbed menu. See [Column Menu](https://www.ag-grid.com/react-data-grid/column-menu/) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressMenuHide` | `boolean` |  | `true` | Only recommended for use if `columnMenu = 'legacy'`. When `true`, the column menu button will always be shown. When `false`, the column menu button will only show when the mouse is over the column header. When using `columnMenu = 'legacy'`, this will default to `false` instead of `true`. See [Column Menu](https://www.ag-grid.com/react-data-grid/column-menu/) for more information. |
| `popupParent` | [`HTMLElement \| null`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) |  |  | DOM element to use as the popup parent for grid popups (context menu, column menu etc). See [Popup Parent](https://www.ag-grid.com/react-data-grid/context-menu/#popup-parent) for more information. |
| `postProcessPopup` | `PostProcessPopup` |  |  | Allows user to process popups after they are created. Applications can use this if they want to, for example, reposition the popup. See [Post-Process Popup](https://www.ag-grid.com/react-data-grid/column-menu/#repositioning-the-popup) for more information. |

### Clipboard

See [Clipboard](https://www.ag-grid.com/react-data-grid/clipboard/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `copyHeadersToClipboard` | `boolean` |  | `false` | Set to `true` to also include headers when copying to clipboard using ^ Ctrl+C clipboard. Default: `false` See [Copying Cell Ranges](https://www.ag-grid.com/react-data-grid/clipboard/#copying-cell-ranges) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `copyGroupHeadersToClipboard` | `boolean` |  | `false` | Set to `true` to also include group headers when copying to clipboard using ^ Ctrl+C clipboard. Default: `false` Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `clipboardDelimiter` | `string` |  | `'\t'` | Specify the delimiter to use when copying to clipboard. See [Changing the Delimiter for Copy & Paste](https://www.ag-grid.com/react-data-grid/clipboard/#changing-the-delimiter-for-copy--paste) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressCutToClipboard` | `boolean` |  | `false` | Set to `true` to block **cut** operations within the grid. See [Disabling Cut](https://www.ag-grid.com/react-data-grid/clipboard/#disabling-cut) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressLastEmptyLineOnPaste` | `boolean` |  | `false` | Set to `true` to work around a bug with Excel (Windows) that adds an extra empty line at the end of ranges copied to the clipboard. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressClipboardPaste` | `boolean` |  | `false` | Set to `true` to turn off paste operations within the grid. See [Disabling Paste](https://www.ag-grid.com/react-data-grid/clipboard/#disabling-paste) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressClipboardApi` | `boolean` |  | `false` | Set to `true` to stop the grid trying to use the Clipboard API, if it is blocked, and immediately fallback to the workaround. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processCellForClipboard` | `ProcessCellForClipboard` |  |  | Allows you to process cells for the clipboard. Handy if for example you have `Date` objects that need to have a particular format if importing into Excel. See [Processing Pasted Data](https://www.ag-grid.com/react-data-grid/clipboard/#processing-pasted-data) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processHeaderForClipboard` | `ProcessHeaderForClipboard` |  |  | Allows you to process header values for the clipboard. See [Processing Pasted Data](https://www.ag-grid.com/react-data-grid/clipboard/#processing-pasted-data) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processGroupHeaderForClipboard` | `ProcessGroupHeaderForClipboard` |  |  | Allows you to process group header values for the clipboard. See [Processing Pasted Data](https://www.ag-grid.com/react-data-grid/clipboard/#processing-pasted-data) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processCellFromClipboard` | `ProcessCellFromClipboard` |  |  | Allows you to process cells from the clipboard. Handy if for example you have number fields and want to block non-numbers from getting into the grid. See [Processing Pasted Data](https://www.ag-grid.com/react-data-grid/clipboard/#processing-pasted-data) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `sendToClipboard` | `SendToClipboard` |  |  | Allows you to get the data that would otherwise go to the clipboard. To be used when you want to control the 'copy to clipboard' operation yourself. See [Custom Clipboard Interaction](https://www.ag-grid.com/react-data-grid/clipboard/#custom-clipboard-interaction) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processDataFromClipboard` | `ProcessDataFromClipboard` |  |  | Allows complete control of the paste operation, including cancelling the operation (so nothing happens) or replacing the data with other data. See [Processing Data from Clipboard](https://www.ag-grid.com/react-data-grid/clipboard/#processing-data-from-clipboard) for more information. Module: [`ClipboardModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Column Definitions

See [Column](https://www.ag-grid.com/react-data-grid/column-definitions/) / [Column Group](https://www.ag-grid.com/react-data-grid/column-groups/) definitions for more information

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `columnDefs` | [`(ColDef \| ColGroupDef)[] \| null`](https://www.ag-grid.com/react-data-grid/column-properties/#reference-columnGroups) |  |  | Array of Column / Column Group definitions. See [Column Definitions](https://www.ag-grid.com/react-data-grid/column-definitions/) for more information. |
| `autoGenerateColumnDefs` | `boolean \| AutoGenerateColumnDefsOptions` |  | `false` | When enabled, column definitions are generated automatically from the first row of `rowData` whenever row data is set or updated. Set to `true` to use default settings, or provide an `AutoGenerateColumnDefsOptions` object to customise how values are handled. See [Auto-Generate Columns](https://www.ag-grid.com/react-data-grid/auto-generate-columns/) for more information. Module: [`AutoGenerateColumnsModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processAutoGeneratedColumnDefs` | `ProcessAutoGeneratedColumnDefs` |  |  | Callback fired after auto-generating column definitions and before they are applied to the grid. Return the final `(ColDef \| ColGroupDef)[]` to use or void if only mutations of generated columnDefs are required. See [Customising Generated Columns](https://www.ag-grid.com/react-data-grid/auto-generate-columns/#customising-generated-columns) for more information. Module: [`AutoGenerateColumnsModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `defaultColDef` | [`ColDef`](https://www.ag-grid.com/react-data-grid/column-properties/) |  |  | A default column definition. Items defined in the actual column definitions get precedence. See [Default Column Definition](https://www.ag-grid.com/react-data-grid/column-definitions/#default-column-definitions) for more information. |
| `defaultColGroupDef` | `Partial<ColGroupDef>` |  |  | A default column group definition. All column group definitions will use these properties. Items defined in the actual column group definition get precedence. See [Default Column Group Definition](https://www.ag-grid.com/react-data-grid/column-groups/#group-defaults) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `columnTypes` | `ColTypeDefs` |  |  | An object map of custom column types which contain groups of properties that column definitions can reuse by referencing in their `type` property. See [Custom Column Types](https://www.ag-grid.com/react-data-grid/column-definitions/#column-types) for more information. |
| `dataTypeDefinitions` | `DataTypeDefinitions` |  |  | An object map of cell data types to their definitions. Cell data types can either override/update the pre-defined data types (`'text'`, `'number'`, `'boolean'`, `'date'`, `'dateString'`, `'dateTime'`, `'dateTimeString'` or `'object'`), or can be custom data types. See [Custom Cell Data Type Definitions](https://www.ag-grid.com/react-data-grid/cell-data-types/#providing-custom-cell-data-types) for more information. |
| `calculatedColumns` | `CalculatedColumnsGridOption` |  |  | Enables and configures Calculated Columns. See [Calculated Columns](https://www.ag-grid.com/react-data-grid/calculated-columns/) for more information. Module: [`CalculatedColumnsModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `columnHeaderEdit` | `ColumnHeaderEditOptions` |  |  | Configures editing of column and column group header names via the UI. Requires `headerNameEditable` on the relevant Column or Column Group Definitions. See [Editable Header Name](https://www.ag-grid.com/react-data-grid/column-headers/#editable-header-name) for more information. Module: [`ColumnHeaderEditModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `maintainColumnOrder` | `boolean` |  | `false` | Keeps the order of Columns maintained after new Column Definitions are updated. See [Maintain Column Order](https://www.ag-grid.com/react-data-grid/column-updating-definitions/#maintain-column-order) for more information. |
| `enableStrictPivotColumnOrder` | `boolean` |  | `false` | Resets pivot column order when impacted by filters, data or configuration changes See [Pivoting - Changing Data, Filters, and Configurations](https://www.ag-grid.com/react-data-grid/pivoting-column-groups/#changing-data-filters-and-configurations) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressFieldDotNotation` | `boolean` |  | `false` | If `true`, then dots in field names (e.g. `'address.firstLine'`) are not treated as deep references. Allows you to use dots in your field name if you prefer. See [Accessing Row Data Values](https://www.ag-grid.com/react-data-grid/value-getters/#field) for more information. |

### Column Headers

See [Column Headers](https://www.ag-grid.com/react-data-grid/column-headers/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `headerHeight` | `number` |  |  | The height in pixels for the row containing the column label header. If not specified, it uses the theme value of `header-height`. See [Header Height](https://www.ag-grid.com/react-data-grid/column-headers-styling/#header-height) for more information. |
| `groupHeaderHeight` | `number` |  |  | The height in pixels for the rows containing header column groups. If not specified, it uses `headerHeight`. See [Header Height](https://www.ag-grid.com/react-data-grid/column-headers-styling/#header-height) for more information. |
| `floatingFiltersHeight` | `number` |  |  | The height in pixels for the row containing the floating filters. If not specified, it uses the theme value of `header-height`. See [Header Height](https://www.ag-grid.com/react-data-grid/column-headers-styling/#header-height) for more information. |
| `pivotHeaderHeight` | `number` |  |  | The height in pixels for the row containing the columns when in pivot mode. If not specified, it uses `headerHeight`. See [Header Height](https://www.ag-grid.com/react-data-grid/column-headers-styling/#header-height) for more information. |
| `pivotGroupHeaderHeight` | `number` |  |  | The height in pixels for the row containing header column groups when in pivot mode. If not specified, it uses `groupHeaderHeight`. See [Header Height](https://www.ag-grid.com/react-data-grid/column-headers-styling/#header-height) for more information. |
| `hidePaddedHeaderRows` | `boolean` |  |  | Hide any column header rows that would only contain padded groups. See [Hiding Additional Header Rows](https://www.ag-grid.com/react-data-grid/column-groups/#hide-padded-header-rows) for more information. |

### Column Moving

See [Column Moving](https://www.ag-grid.com/react-data-grid/column-moving/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `suppressMovableColumns` | `boolean` |  | `false` | Set to `true` to suppress column moving, i.e. to make the columns fixed position. |
| `suppressMoveWhenColumnDragging` | `boolean` |  | `false` | Set to `true` to suppress moving columns while dragging the Column Header. This option highlights the position where the column will be placed and it will only move it on mouse up. See [Suppress Move When Dragging](https://www.ag-grid.com/react-data-grid/column-moving/#suppress-move-when-dragging) for more information. |
| `suppressColumnMoveAnimation` | `boolean` |  | `false` | If `true`, the `ag-column-moving` class is not added to the grid while columns are moving. In the default [themes](https://www.ag-grid.com/react-data-grid/themes/), this results in no animation when moving columns. Default: `false` See [Moving Animation](https://www.ag-grid.com/react-data-grid/column-moving/#moving-animation) for more information. |
| `suppressDragLeaveHidesColumns` | `boolean` |  | `false` | If `true`, when you drag a column out of the grid (e.g. to the group zone) the column is not hidden. See [Suppress Hide Leave](https://www.ag-grid.com/react-data-grid/column-moving/#suppress-hide-on-drag-leave) for more information. |
| `allowDragFromColumnsToolPanel` | `boolean` |  | `false` | Allow reordering and pinning columns by dragging columns from the Columns Tool Panel to the grid. See [Columns Tool Panel](https://www.ag-grid.com/react-data-grid/tool-panel-columns/) for more information. Module: [`ColumnsToolPanelModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Column Pinning

See [Column Pinning](https://www.ag-grid.com/react-data-grid/column-pinning/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `processUnpinnedColumns` | `ProcessUnpinnedColumns` |  |  | Allows the user to process the columns being removed from the pinned section because the viewport is too small to accommodate them. Returns an array of columns to be removed from the pinned areas. See [Resizing Pinned Sections](https://www.ag-grid.com/react-data-grid/column-pinning/#resizing-pinned-sections) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Column Sizing

See [Column Sizing](https://www.ag-grid.com/react-data-grid/column-sizing/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `colResizeDefault` | `'shift'` |  |  | Set to `'shift'` to have shift-resize as the default resize operation (same as user holding down ⇧ Shift while resizing). See [Shift Resizing](https://www.ag-grid.com/react-data-grid/column-sizing/#shift-resizing) for more information. |
| `autoSizeStrategy` | `AutoSizeStrategy` |  |  | Auto-size the columns when the grid is loaded. Can size to fit the grid width, fit a provided width, or fit the cell contents. See [Auto-Sizing Columns](https://www.ag-grid.com/react-data-grid/column-sizing/#auto-sizing-columns) for more information. Module: [`ColumnAutoSizeModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressAutoSize` | `boolean` |  | `false` | Suppresses auto-sizing columns for columns. In other words, double clicking a column's header's edge will not auto-size. See [Auto-Size Columns to Fit Cell Contents](https://www.ag-grid.com/react-data-grid/column-sizing/#auto-size-columns-to-fit-cell-contents) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `autoSizePadding` | `number` |  | `20` | Number of pixels to add to a column width after the [auto-sizing](https://www.ag-grid.com/react-data-grid/column-sizing/#auto-size-columns-to-fit-cell-contents) calculation. Set this if you want to add extra room to accommodate (for example) sort icons, or some other dynamic nature of the header. See [Auto-Size Columns to Fit Cell Contents](https://www.ag-grid.com/react-data-grid/column-sizing/#auto-size-columns-to-fit-cell-contents) for more information. |
| `skipHeaderOnAutoSize` | `boolean` |  | `false` | Set this to `true` to skip the `headerName` when `autoSize` is called by default. See [Auto-Size Columns to Fit Cell Contents](https://www.ag-grid.com/react-data-grid/column-sizing/#auto-size-columns-to-fit-cell-contents) for more information. Module: [`ColumnAutoSizeModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `animateColumnResizing` | `boolean` |  | `false` | Set to `true` to animate changes to column width when auto-sizing the columns. |

### Components

See [Components](https://www.ag-grid.com/react-data-grid/components/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `components` | `Components` |  |  | A map of component names to components. See [Registering Custom Components](https://www.ag-grid.com/react-data-grid/components/#registering-custom-components) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Editing

See [Cell Editing](https://www.ag-grid.com/react-data-grid/cell-editing/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `editType` | `EditStrategyType` |  |  | Set to `'fullRow'` to enable Full Row Editing. Otherwise leave blank to edit one cell at a time. See [Full Row Editing](https://www.ag-grid.com/react-data-grid/cell-editing-full-row/) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getFullRowEditValidationErrors` | `GetFullRowEditValidationErrors` |  |  | Validates the Full Row Edit. Only relevant when `editType="fullRow"`. See [Full Row Editing Validation](https://www.ag-grid.com/react-data-grid/cell-editing-validation/#full-row-editing-validation) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `invalidEditValueMode` | `EditValidationCommitType` |  |  | Set to `block` to block the commit of invalid cell edits, keeping editors open. See [Cell Editing Validation Modes](https://www.ag-grid.com/react-data-grid/cell-editing-validation/#validation-modes) for more information. |
| `singleClickEdit` | `boolean` |  | `false` | Set to `true` to enable Single Click Editing for cells, to start editing with a single click. See [Single Click Editing](https://www.ag-grid.com/react-data-grid/cell-editing-start-stop/#single-click-editing) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressClickEdit` | `boolean` |  | `false` | Set to `true` so that neither single nor double click starts editing. See [No Click Editing](https://www.ag-grid.com/react-data-grid/cell-editing-start-stop/#no-click-editing) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `stopEditingWhenCellsLoseFocus` | `boolean` |  | `false` | Set this to `true` to stop cell editing when grid loses focus. The default is that the grid stays editing until focus goes onto another cell. See [Stop cell editing](https://www.ag-grid.com/react-data-grid/cell-editing-start-stop/#stop-editing-when-grid-loses-focus) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressStartEditOnTab` | `boolean` |  |  | Determine the behavior when navigating to the next/previous editable cell. Default is to begin editing the cell. See [Cell Editing](https://www.ag-grid.com/react-data-grid/cell-editing/) for more information. |
| `enterNavigatesVertically` | `boolean` |  | `false` | Set to `true` along with `enterNavigatesVerticallyAfterEdit` to have Excel-style behaviour for the ↵ Enter key, i.e. pressing the ↵ Enter key will move down to the cell beneath. Default: `false` See [Enter Key Navigation](https://www.ag-grid.com/react-data-grid/cell-editing-start-stop/#enter-key-navigation) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `enterNavigatesVerticallyAfterEdit` | `boolean` |  | `false` | Set to `true` along with `enterNavigatesVertically` to have Excel-style behaviour for the ↵ Enter key, i.e. pressing the ↵ Enter key will move down to the cell beneath. Default: `false` See [Enter Key Navigation](https://www.ag-grid.com/react-data-grid/cell-editing-start-stop/#enter-key-navigation) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `enableCellEditingOnBackspace` | `boolean` |  |  | Forces Cell Editing to start when backspace is pressed. This is only relevant for MacOS users. See [Start Editing](https://www.ag-grid.com/react-data-grid/cell-editing-start-stop/#start-editing) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `undoRedoCellEditing` | `boolean` |  |  | Set to `true` to enable Undo / Redo while editing. See [Undo / Redo Edits](https://www.ag-grid.com/react-data-grid/undo-redo-edits/) for more information. Module: [`UndoRedoEditModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `undoRedoCellEditingLimit` | `number` |  | `10` | Set the size of the undo / redo stack. See [Enabling Undo / Redo](https://www.ag-grid.com/react-data-grid/undo-redo-edits/#enabling-undo--redo) for more information. Module: [`UndoRedoEditModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `readOnlyEdit` | `boolean` |  | `false` | Set to `true` to stop the grid updating data after `Edit`, `Clipboard` and `Fill Handle` operations. When this is set, it is intended the application will update the data, eg in an external immutable store, and then pass the new dataset to the grid. **Note:** `rowNode.setDataValue()` does not update the value of the cell when this is `True`, it fires `onCellEditRequest` instead. See [Read Only Edit](https://www.ag-grid.com/react-data-grid/value-setters/#read-only-edit) for more information. Modules (any of): [`TextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`LargeTextEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CheckboxEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SelectEditorModule`](https://www.ag-grid.com/react-data-grid/modules/), [`RichSelectModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Export

See [Export](https://www.ag-grid.com/react-data-grid/excel-export/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `defaultCsvExportParams` | [`CsvExportParams`](https://www.ag-grid.com/react-data-grid/csv-export/#csvexportparams) |  |  | A default configuration object used to export to CSV. See [CSV Export](https://www.ag-grid.com/react-data-grid/csv-export/) for more information. Module: [`CsvExportModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressCsvExport` | `boolean` |  | `false` | Prevents the user from exporting the grid to CSV. See [What Gets Exported](https://www.ag-grid.com/react-data-grid/csv-export/#what-gets-exported) for more information. |
| `defaultExcelExportParams` | [`ExcelExportParams`](https://www.ag-grid.com/react-data-grid/excel-export-api/#excelexportparams) |  |  | A default configuration object used to export to Excel. See [Excel Export](https://www.ag-grid.com/react-data-grid/excel-export/) for more information. Module: [`ExcelExportModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressExcelExport` | `boolean` |  | `false` | Prevents the user from exporting the grid to Excel. See [Excel Export](https://www.ag-grid.com/react-data-grid/excel-export/) for more information. |
| `excelStyles` | [`ExcelStyle[]`](https://www.ag-grid.com/react-data-grid/excel-export-api/#excelstyle) |  |  | A list (array) of Excel styles to be used when exporting to Excel with styles. See [Excel Export Styles](https://www.ag-grid.com/react-data-grid/excel-export-styles/) for more information. Module: [`ExcelExportModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Filtering

See [Filtering](https://www.ag-grid.com/react-data-grid/filtering-overview/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `quickFilterText` | `string` |  |  | Rows are filtered using this text as a Quick Filter. Only supported for Client-Side Row Model. See [Quick Filter](https://www.ag-grid.com/react-data-grid/filter-quick/) for more information. Module: [`QuickFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `cacheQuickFilter` | `boolean` |  | `false` | Set to `true` to turn on the Quick Filter cache, used to improve performance when using the Quick Filter. See [Quick Filter Cache](https://www.ag-grid.com/react-data-grid/filter-quick/#quick-filter-cache) for more information. Module: [`QuickFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `includeHiddenColumnsInQuickFilter` | `boolean` |  | `false` | Hidden columns are excluded from the Quick Filter by default. To include hidden columns, set to `true`. See [Include Hidden Columns](https://www.ag-grid.com/react-data-grid/filter-quick/#include-hidden-columns) for more information. Module: [`QuickFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `quickFilterParser` | `QuickFilterParser` |  |  | Changes how the Quick Filter splits the Quick Filter text into search terms. See [Quick Filter Parser](https://www.ag-grid.com/react-data-grid/filter-quick/#quick-filter-parser) for more information. Module: [`QuickFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `quickFilterMatcher` | `QuickFilterMatcher` |  |  | Changes the matching logic for whether a row passes the Quick Filter. See [Quick Filter Matcher](https://www.ag-grid.com/react-data-grid/filter-quick/#quick-filter-matcher) for more information. Module: [`QuickFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `applyQuickFilterBeforePivotOrAgg` | `boolean` |  | `false` | When pivoting, Quick Filter is only applied on the pivoted data (or aggregated data if `groupAggFiltering = true`). Set to `true` to apply Quick Filter before pivoting (/aggregating) instead. See [Pivoting / Group Aggregation Filtering](https://www.ag-grid.com/react-data-grid/filter-quick/#pivoting--filtering-aggregated-values) for more information. Module: [`QuickFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isExternalFilterPresent` | `IsExternalFilterPresent` |  |  | Grid calls this method to know if an external filter is present. See [External Filter](https://www.ag-grid.com/react-data-grid/filter-external/) for more information. Module: [`ExternalFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `doesExternalFilterPass` | `DoesExternalFilterPass` |  |  | Should return `true` if external filter passes, otherwise `false`. See [External Filter](https://www.ag-grid.com/react-data-grid/filter-external/) for more information. Module: [`ExternalFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `excludeChildrenWhenTreeDataFiltering` | `boolean` |  | `false` | Set to `true` to override the default tree data filtering behaviour to instead exclude child nodes from filter results. See [Tree Data Filtering](https://www.ag-grid.com/react-data-grid/tree-data-filtering/#exclude-children-when-filtering) for more information. Module: [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressSetFilterByDefault` | `boolean` |  | `false` | When using AG Grid Enterprise, the Set Filter is used by default when `filter: true` is set on column definitions. Set to `true` to prevent this and instead use the Text Filter, Number Filter or Date Filter based on the cell data type, the same as when using AG Grid Community. See [Suppress Set Filter by Default](https://www.ag-grid.com/react-data-grid/filter-set/#suppress-set-filter-by-default) for more information. Modules (any of): [`TextFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`MultiFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `enableAdvancedFilter` | `boolean` |  | `false` | Set to true to enable the Advanced Filter. See [Advanced Filter](https://www.ag-grid.com/react-data-grid/filter-advanced/) for more information. Module: [`AdvancedFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `includeHiddenColumnsInAdvancedFilter` | `boolean` |  | `false` | Hidden columns are excluded from the Advanced Filter by default. To include hidden columns, set to `true`. See [Advanced Filter](https://www.ag-grid.com/react-data-grid/filter-advanced/#including-hidden-columns) for more information. Module: [`AdvancedFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `advancedFilterParent` | [`HTMLElement \| null`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) |  |  | DOM element to use as the parent for the Advanced Filter to allow it to appear outside of the grid. Set to `null` or `undefined` to appear inside the grid. See [Advanced Filter](https://www.ag-grid.com/react-data-grid/filter-advanced/#advanced-filter-parent) for more information. Module: [`AdvancedFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `advancedFilterBuilderParams` | `IAdvancedFilterBuilderParams` |  |  | Customise the parameters passed to the Advanced Filter Builder. See [Advanced Filter](https://www.ag-grid.com/react-data-grid/filter-advanced/#configuring-advanced-filter-builder) for more information. Module: [`AdvancedFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `advancedFilterParams` | `IAdvancedFilterParams` |  |  | Customise the parameters passed to the Advanced Filter See [Advanced Filter](https://www.ag-grid.com/react-data-grid/filter-advanced/#configuring-advanced-filter) for more information. Module: [`AdvancedFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `alwaysPassFilter` | `AlwaysPassFilter` |  |  | Allows rows to always be displayed, even if they don't match the applied filtering. Return `true` for the provided row to always be displayed. Only works with the Client-Side Row Model. Modules (any of): [`TextFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`NumberFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`DateFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`SetFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`MultiFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`CustomFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`QuickFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ExternalFilterModule`](https://www.ag-grid.com/react-data-grid/modules/), [`AdvancedFilterModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `enableFilterHandlers` | `boolean` |  |  | Enable filter handlers for custom filter components. Requires all custom filters to be implemented using handlers. Note that grid-provided filters (except for the Multi Filter) always use filter handlers. The Multi Filter will also use a filter handler if this is enabled. See [Custom Column Filters](https://www.ag-grid.com/react-data-grid/component-filter/#implementing-a-filter-component) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `filterHandlers` | `FilterHandlers` |  |  | A map of filter handler key to filter handler function. Allows for filter handler keys to be used in `colDef.filter.handler`. See [Custom Column Filters](https://www.ag-grid.com/react-data-grid/component-filter/#implementing-a-filter-component) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Find

See [Find](https://www.ag-grid.com/react-data-grid/find/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `findSearchValue` | `string` |  |  | Text to find within the grid. See [Find](https://www.ag-grid.com/react-data-grid/find/) for more information. Module: [`FindModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `findOptions` | `FindOptions` |  |  | Options for the Find feature. See [Customising Find](https://www.ag-grid.com/react-data-grid/find/#customising-find) for more information. Module: [`FindModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Formulas

See [Formulas](https://www.ag-grid.com/react-data-grid/formulas/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `formulaDataSource` | `FormulaDataSource` |  |  | Provide a data source to control where formulas are stored and retrieved. If not supplied, formulas are read from and written to the row data. Module: [`FormulaModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `formulaFuncs` | `FormulaFuncs` |  |  | A map of 'function name' to 'function' for custom functions that are used for formulas. Module: [`FormulaModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Integrated Charts

See [Integrated Charts](https://www.ag-grid.com/react-data-grid/integrated-charts/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `enableCharts` | `boolean` |  | `false` | Set to `true` to Enable Charts. See [Enabling User Created Charts](https://www.ag-grid.com/react-data-grid/integrated-charts-user-created/#enabling-user-created-charts) for more information. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `includeHiddenColumnsInCharts` | `boolean` |  | `true` | Hidden columns are included in charts by default, and remain in a chart if hidden after being added. Set to `false` to exclude hidden columns from charts, and to remove a column from a chart when it is hidden. Does not apply to Pivot Charts, whose columns always mirror the grid's displayed columns. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getChartToolbarItems` | `GetChartToolbarItems` |  |  | Callback to be used to customise the chart toolbar items. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `createChartContainer` | `CreateChartContainer` |  |  | Callback to enable displaying the chart in an alternative chart container. See [Specifying Chart Container](https://www.ag-grid.com/react-data-grid/integrated-charts-container/) for more information. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `chartThemes` | `string[]` |  | `['ag-default', 'ag-material', 'ag-sheets', 'ag-polychroma', 'ag-vivid'];` | The list of chart themes that a user can choose from in the chart panel. See [Provided Themes](https://www.ag-grid.com/react-data-grid/integrated-charts-customisation/#provided-themes) for more information. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `customChartThemes` | `CustomChartThemes` |  |  | A map containing custom chart themes. See [Custom Chart Themes](https://www.ag-grid.com/react-data-grid/integrated-charts-customisation/#custom-chart-themes) for more information. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `chartThemeOverrides` | [`AgChartThemeOverrides`](https://www.ag-grid.com/charts/themes-api/#reference-AgChartTheme-overrides) |  |  | Chart theme overrides applied to all themes. See [Chart Groups and Types Customisation](https://www.ag-grid.com/react-data-grid/integrated-charts-customisation/#overriding-themes) for more information. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `chartToolPanelsDef` | `ChartToolPanelsDef` |  |  | Allows customisation of the Chart Tool Panels, such as changing the tool panels visibility and order, as well as choosing which charts should be displayed in the chart panel. See [Chart Tool Panel customisation](https://www.ag-grid.com/react-data-grid/integrated-charts-chart-tool-panels/) for more information. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `chartMenuItems` | `(DefaultChartMenuItem \| MenuItemDef)[] \| GetChartMenuItems` |  |  | Get chart menu items. Only applies when using AG Charts Enterprise. See [Customising the Chart Menu Items](https://www.ag-grid.com/react-data-grid/integrated-charts-menu/#customising-the-chart-menu-items) for more information. Module: [`IntegratedChartsModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Keyboard Navigation

See [Keyboard Navigation](https://www.ag-grid.com/react-data-grid/keyboard-navigation/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `focusGridInnerElement` | `FocusGridInnerElement` |  |  | Allows overriding the element that will be focused when the grid receives focus from outside elements (tabbing into the grid). See [Custom Navigation](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#custom-navigation) for more information. |
| `navigateToNextHeader` | `NavigateToNextHeader` |  |  | Allows overriding the default behaviour for when user hits navigation (arrow) key when a header is focused. Return the next Header position to navigate to or `null` to stay on current header. See [Custom Navigation](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#custom-navigation) for more information. |
| `tabToNextHeader` | `TabToNextHeader` |  |  | Allows overriding the default behaviour for when user hits `Tab` key when a header is focused. Return the next header position to navigate to, `true` to stay on the current header, or `false` to let the browser handle the tab behaviour. See [Custom Navigation](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#custom-navigation) for more information. |
| `navigateToNextCell` | `NavigateToNextCell` |  |  | Allows overriding the default behaviour for when user hits navigation (arrow) key when a cell is focused. Return the next Cell position to navigate to or `null` to stay on current cell. See [Custom Navigation](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#custom-navigation) for more information. |
| `tabToNextCell` | `TabToNextCell` |  |  | Allows overriding the default behaviour for when user hits `Tab` key when a cell is focused. Return the next cell position to navigate to, `true` to stay on the current cell, or `false` to let the browser handle the tab behaviour. See [Custom Navigation](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#custom-navigation) for more information. |
| `tabToNextGridContainer` | `TabToNextGridContainer` |  |  | Allows overriding the default behaviour when tabbing between core grid containers. Return a container name, a cell position, or a header position to focus that target, `true` to stay on the current focus, `false` to let the browser handle tab behaviour, or `undefined` to use the grid's default behaviour. See [Custom Navigation](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#custom-tabbing-between-grid-containers) for more information. |

### Loading Cell Renderers

See [loadingCellRenderer](https://www.ag-grid.com/react-data-grid/component-loading-cell-renderer/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `loadingCellRenderer` | `any` |  |  | Provide your own loading cell renderer to use when data is loading via a DataSource or a cell renderer is deferred. See [Loading Cell Renderer](https://www.ag-grid.com/react-data-grid/component-loading-cell-renderer/) for more information. |
| `loadingCellRendererParams` | `any` |  |  | Params to be passed to the `loadingCellRenderer` component. See [Loading Cell Renderer](https://www.ag-grid.com/react-data-grid/component-loading-cell-renderer/) for more information. |
| `loadingCellRendererSelector` | `LoadingCellRendererSelectorFunc` |  |  | Callback to select which loading cell renderer to be used when data is loading via a DataSource or when a cell renderer is deferred. See [Loading Cell Renderer Selector](https://www.ag-grid.com/react-data-grid/component-loading-cell-renderer/#dynamic-loading-row-selection) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Localisation

See [Localisation](https://www.ag-grid.com/react-data-grid/localisation/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `localeText` | `LocaleText` |  |  | A map of key->value pairs for localising text within the grid. See [Localisation](https://www.ag-grid.com/react-data-grid/localisation/) for more information. Module: [`LocaleModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `getLocaleText` | `GetLocaleText` |  |  | A callback for localising text within the grid. See [Localisation](https://www.ag-grid.com/react-data-grid/localisation/) for more information. Module: [`LocaleModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Master Detail

See [Master Detail](https://www.ag-grid.com/react-data-grid/master-detail/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `masterDetail` | `boolean` |  | `false` | Set to `true` to enable Master Detail. See [Master Detail](https://www.ag-grid.com/react-data-grid/master-detail/) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isRowMaster` | `IsRowMaster` |  |  | Callback to be used with [Master Detail](https://www.ag-grid.com/react-data-grid/master-detail/) to determine if a row should be a master row. If `false` is returned no detail row will exist for this row. See [Dynamic Master Rows](https://www.ag-grid.com/react-data-grid/master-detail-master-rows/#dynamic-master-rows) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `masterDefaultExpanded` | `number` |  |  | Master Detail: set to the number of levels of master rows to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. If not set, falls back to `groupDefaultExpanded`. See [Open Master Rows by Default](https://www.ag-grid.com/react-data-grid/master-detail-master-rows/#opening-master-rows-by-default) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isMasterOpenByDefault` | `IsMasterOpenByDefault` |  |  | (Client-side Row Model only) Master Detail: allows master rows to be open by default. See [Open Master Rows by Default](https://www.ag-grid.com/react-data-grid/master-detail-master-rows/#opening-master-rows-by-default) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `detailCellRenderer` | `any` |  |  | Provide a custom `detailCellRenderer` to use when a master row is expanded. See [Custom Detail](https://www.ag-grid.com/react-data-grid/master-detail-custom-detail/) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `detailCellRendererParams` | `any` |  |  | Specifies the params to be used by the Detail Cell Renderer. Can also be a function that provides the params to enable [dynamic definitions](https://www.ag-grid.com/react-data-grid/master-detail-grids/#dynamic-definitions) of the params. See [Detail Grids](https://www.ag-grid.com/react-data-grid/master-detail-grids/) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `detailRowHeight` | `number` |  |  | Set fixed height in pixels for each detail row. See [Fixed Height](https://www.ag-grid.com/react-data-grid/master-detail-height/#fixed-height) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `detailRowAutoHeight` | `boolean` |  |  | Set to `true` to have the detail grid dynamically change it's height to fit it's rows. See [Auto Height](https://www.ag-grid.com/react-data-grid/master-detail-height/#auto-height) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `keepDetailRows` | `boolean` |  | `false` | Set to `true` to keep detail rows for when they are displayed again. See [Detail Grid Lifecycle](https://www.ag-grid.com/react-data-grid/master-detail-grids/#detail-grid-lifecycle) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `keepDetailRowsCount` | `number` |  | `10` | Sets the number of details rows to keep. See [Detail Grid Lifecycle](https://www.ag-grid.com/react-data-grid/master-detail-grids/#detail-grid-lifecycle) for more information. Module: [`MasterDetailModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Miscellaneous

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `initialState` | `GridState` |  |  | Initial state for the grid. Only read once on initialization. Can be used in conjunction with `api.getState()` to save and restore grid state. See [Grid State](https://www.ag-grid.com/react-data-grid/grid-state/) for more information. Module: [`GridStateModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `alignedGrids` | `AlignedGrid[] \| (() => AlignedGrid[])` |  |  | A list of grids to treat as Aligned Grids. Provide a list if the grids / apis already exist or return via a callback to allow the aligned grids to be retrieved asynchronously. If grids are aligned then the columns and horizontal scrolling will be kept in sync. See [Aligned Grids](https://www.ag-grid.com/react-data-grid/aligned-grids/) for more information. Module: [`AlignedGridsModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `context` | `any` |  |  | Provides a context object that is provided to different callbacks the grid uses. Used for passing additional information to the callbacks used by your application. See [Context](https://www.ag-grid.com/react-data-grid/context/) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `tabIndex` | `number` |  | `0` | Change this value to set the tabIndex order of the Grid within your application. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `rowBuffer` | `number` |  | `10` | The number of rows rendered outside the viewable area the grid renders. Having a buffer means the grid will have rows ready to show as the user slowly scrolls vertically. See [Row Buffer](https://www.ag-grid.com/react-data-grid/dom-virtualisation/#row-buffer) for more information. |
| `rowNumbers` | `boolean \| RowNumbersOptions` |  | `false` | Configure the Row Numbers Feature. See [Row Numbers](https://www.ag-grid.com/react-data-grid/row-numbers/) for more information. Module: [`RowNumbersModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `valueCache` | `boolean` |  | `false` | Set to `true` to turn on the value cache. See [Value Cache](https://www.ag-grid.com/react-data-grid/value-cache/) for more information. Module: [`ValueCacheModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `valueCacheNeverExpires` | `boolean` |  | `false` | Set to `true` to configure the value cache to not expire after data updates. See [Value Cache](https://www.ag-grid.com/react-data-grid/value-cache/) for more information. Module: [`ValueCacheModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `enableCellExpressions` | `boolean` |  | `false` | Set to `true` to allow cell expressions. See [Cell Expressions](https://www.ag-grid.com/react-data-grid/cell-expressions/#cell-expressions) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `getDocument` | `GetDocument` |  |  | Allows overriding what `document` is used. Currently used by Drag and Drop (may extend to other places in the future). Use this when you want the grid to use a different `document` than the one available on the global scope. This can happen if docking out components (something which Electron supports) |
| `suppressTouch` | `boolean` |  | `false` | Disables touch support (but does not remove the browser's efforts to simulate mouse events on touch). See [Touch Support](https://www.ag-grid.com/react-data-grid/touch/) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressFocusAfterRefresh` | `boolean` |  | `false` | Set to `true` to not set focus back on the grid after a refresh. This can avoid issues where you want to keep the focus on another part of the browser. |
| `suppressChangeDetection` | `boolean` |  | `false` | Disables change detection. See [Triggering Value Change Detection](https://www.ag-grid.com/react-data-grid/change-detection/#triggering-value-change-detection) for more information. |
| `debug` | `boolean` |  | `false` | Set this to `true` to enable debug information from the grid and related components. Will result in additional logging being output, but very useful when investigating problems. It is also recommended to register the `ValidationModule` to identify any misconfigurations. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Notes

See [Notes](https://www.ag-grid.com/react-data-grid/notes/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `notesDataSource` | `NotesDataSource \| FullWidthNotesDataSource` |  |  | Provide a data source to control where notes are stored and retrieved. Can be updated to enable, disable, or replace Notes at runtime. See [Notes](https://www.ag-grid.com/react-data-grid/notes/) for more information. Module: [`NotesModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `noteTrigger` | `'hover' \| 'click'` |  | `'hover'` | Changes how existing notes are opened. - `'hover'` - Existing notes open when hovering a noted cell or full width row. - `'click'` - Existing notes open when clicking a noted cell or full width row. See [Notes](https://www.ag-grid.com/react-data-grid/notes/) for more information. Module: [`NotesModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `noteShowDelay` | `number` |  | `180` | The delay in milliseconds before a note is shown when hovering a noted cell. Only applies when `noteTrigger = 'hover'`. See [Notes](https://www.ag-grid.com/react-data-grid/notes/) for more information. Module: [`NotesModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `noteHideDelay` | `number` |  | `220` | The delay in milliseconds before a note is hidden after the pointer leaves a noted cell or note popup. See [Notes](https://www.ag-grid.com/react-data-grid/notes/) for more information. Module: [`NotesModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Overlays

See [Overlays](https://www.ag-grid.com/react-data-grid/overlays-overview/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `loading` | `boolean` |  | `undefined` | Show or hide the loading overlay. - `true`: the loading overlay is shown. - `false`: the loading overlay is hidden. - `undefined`: the grid will automatically show the loading overlay until `rowData` and `columnDefs` are provided. (Client Side Row Model only) See [Loading Overlay](https://www.ag-grid.com/react-data-grid/overlays-provided/#loading) for more information. |
| `overlayComponent` | `any` |  |  | Provide a custom overlay component to be used for all grid provided overlays (loading, no rows, no matching rows, exporting etc). See [Overlay Component](https://www.ag-grid.com/react-data-grid/overlays-provided/#customisation) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `overlayComponentParams` | `any` |  |  | Customise the parameters provided to the `overlayComponent`. Provided overlays accept parameters specified on the `OverlayComponentUserParams` interface. Any custom parameters can also be provided for custom overlay components. See [Overlay Component](https://www.ag-grid.com/react-data-grid/overlays-provided/#customisation) for more information. |
| `overlayComponentSelector` | `OverlaySelectorFunc` |  |  | Callback to dynamically provide a custom overlay component complete with custom params based on the selector params. See [Overlay Component](https://www.ag-grid.com/react-data-grid/overlays-provided/#customisation) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressOverlays` | `OverlayType[]` |  |  | List of provided overlay names to suppress. One of `loading`, `noRows`, `noMatchingRows`, `exporting`, `fileInput`. See [Suppress Overlays](https://www.ag-grid.com/react-data-grid/overlays-provided/#suppress-overlays) for more information. |
| `activeOverlay` | `any` |  |  | Display an overlay on demand. If provided takes precedence over the grid provided overlays. - name of a provided overlay, i.e `agLoadingOverlay`, `agNoRowsOverlay`, `agNoMatchingRowsOverlay`, `agExportingOverlay` - component class/function. - key of a custom component registered in the `components` map. - `undefined` to clear. See [Active Overlay](https://www.ag-grid.com/react-data-grid/overlays-active/) for more information. |
| `activeOverlayParams` | `any` |  |  | Custom parameters to be supplied to the `activeOverlay` component in addition to `IOverlayParams`. Updating the params will trigger a refresh of the active overlay. See [Active Overlay](https://www.ag-grid.com/react-data-grid/overlays-active/) for more information. |
| `overlayLoadingTemplate` | `string` |  |  | Provide a HTML string to override the default loading overlay. Supports non-empty plain text or HTML with a single root element. - **Prefer `overlayComponent` / `overlayComponentSelector`** See [Custom Overlays](https://www.ag-grid.com/react-data-grid/overlays/#customisation) for more information. |
| `loadingOverlayComponent` | `any` |  |  | Provide a custom loading overlay component. - **Prefer `overlayComponent` / `overlayComponentSelector`** See [Loading Overlay Component](https://www.ag-grid.com/react-data-grid/overlays/) for more information. |
| `loadingOverlayComponentParams` | `any` |  |  | Customise the parameters provided to the loading overlay component. - **Prefer using `overlayComponentParams`** See [Overlay Component](https://www.ag-grid.com/react-data-grid/overlays/) for more information. |
| `suppressNoRowsOverlay` | `boolean` |  | `false` | Set to `true` to prevent the no-rows overlay being shown when there is no row data. - **Prefer `suppressOverlays=['noRows']`** See [No rows overlay](https://www.ag-grid.com/react-data-grid/overlays/#no-rows-overlay) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `overlayNoRowsTemplate` | `string` |  |  | Provide a HTML string to override the default no-rows overlay. Supports non-empty plain text or HTML with a single root element. - **Prefer `overlayComponent` / `overlayComponentSelector`** See [Custom Overlays](https://www.ag-grid.com/react-data-grid/overlays/#customisation) for more information. |
| `noRowsOverlayComponent` | `any` |  |  | Provide a custom no-rows overlay component. - **Prefer `overlayComponent` / `overlayComponentSelector`** See [No Rows Overlay Component](https://www.ag-grid.com/react-data-grid/overlays/) for more information. |
| `noRowsOverlayComponentParams` | `any` |  |  | Customise the parameters provided to the no-rows overlay component. - **Prefer using `overlayComponentParams`** See [Overlay Component](https://www.ag-grid.com/react-data-grid/overlays/) for more information. |
| `processFileInput` | `Function` |  |  | Callback to handle files received via the file input overlay (drag-and-drop or file browser). When provided, the file input overlay is shown when there is no row data. Call `params.success(rowData)` to load parsed data into the grid, or `params.fail(message)` to show an error. See [File Input Overlay](https://www.ag-grid.com/react-data-grid/overlays-provided/#file-input) for more information. Module: [`FileInputOverlayModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Pagination

See [Row Pagination](https://www.ag-grid.com/react-data-grid/row-pagination/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `pagination` | `boolean` |  | `false` | Set whether pagination is enabled. See [Row Pagination](https://www.ag-grid.com/react-data-grid/row-pagination/) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `paginationPageSize` | `number` |  | `100` | How many rows to load per page. If `paginationAutoPageSize` is specified, this property is ignored. See [Customising Pagination](https://www.ag-grid.com/react-data-grid/row-pagination/#example-customising-pagination) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `paginationPageSizeSelector` | `number[] \| boolean` |  | `true` | Determines if the page size selector is shown in the pagination panel or not. Set to an array of values to show the page size selector with custom list of possible page sizes. Set to `true` to show the page size selector with the default page sizes `[20, 50, 100]`. Set to `false` to hide the page size selector. See [Customising Pagination](https://www.ag-grid.com/react-data-grid/row-pagination/#example-customising-pagination) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `paginationPanels` | `PaginationPanel[]` |  |  | Controls which built-in components appear in the pagination panel and in what order. Accepts an array of panel names (`'pageSize'`, `'rowSummary'`, `'pageSummary'`) or config objects. Components render in the order they appear in the array. Omitted components are hidden. An empty array hides the pagination panel entirely. When not set, all three components render in the default order: [`pageSize`, `rowSummary`, `pageSummary`]. Use `{ type: 'pageSummary', suppressPageInput: true }` to render a read-only page summary. See [Pagination Panel Layout](https://www.ag-grid.com/react-data-grid/row-pagination/#pagination-panel-layout) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `paginationNumberFormatter` | `PaginationNumberFormatter` |  |  | Allows user to format the numbers in the pagination panel, i.e. 'row count' and 'page number' labels. This is for pagination panel only, to format numbers inside the grid's cells (i.e. your data), then use `valueFormatter` in the column definitions. See [Customising Pagination](https://www.ag-grid.com/react-data-grid/row-pagination/#example-customising-pagination) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `paginationAutoPageSize` | `boolean` |  | `false` | Set to `true` so that the number of rows to load per page is automatically adjusted by the grid so each page shows enough rows to just fill the area designated for the grid. If `false`, `paginationPageSize` is used. See [Auto Page Size](https://www.ag-grid.com/react-data-grid/row-pagination/#example-auto-page-size) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `paginateChildRows` | `boolean` |  | `false` | Set to `true` to have pages split children of groups when using Row Grouping or detail rows with Master Detail. See [Pagination & Child Rows](https://www.ag-grid.com/react-data-grid/row-pagination/#pagination--child-rows) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressPaginationPanel` | `boolean` |  | `false` | If `true`, the default grid controls for navigation are hidden. This is useful if `pagination=true` and you want to provide your own pagination controls. Otherwise, when `pagination=true` the grid automatically shows the necessary controls at the bottom so that the user can navigate through the different pages. See [Custom Pagination Controls](https://www.ag-grid.com/react-data-grid/row-pagination/#example-customising-pagination) for more information. Module: [`PaginationModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Rendering

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `animateRows` | `boolean` |  | `true` | Set to `false` to disable Row Animation which is enabled by default. See [Row Animation](https://www.ag-grid.com/react-data-grid/row-animation/) for more information. |
| `cellFlashDuration` | `number` |  | `500` | Sets the duration in milliseconds of how long a cell should remain in its "flashed" state. If `0`, the cell will not flash. See [How Flashing Works](https://www.ag-grid.com/react-data-grid/change-cell-renderers/#enable-flashing-on-data-change) for more information. |
| `cellFadeDuration` | `number` |  | `1000` | Sets the duration in milliseconds of how long the "flashed" state animation takes to fade away after the timer set by `cellFlashDuration` has completed. See [How Flashing Works](https://www.ag-grid.com/react-data-grid/change-cell-renderers/#enable-flashing-on-data-change) for more information. |
| `allowShowChangeAfterFilter` | `boolean` |  | `false` | Set to `true` to have cells flash after data changes even when the change is due to filtering. See [Flashing Data Changes](https://www.ag-grid.com/react-data-grid/change-cell-renderers/) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `domLayout` | `DomLayoutType` |  | `'normal'` | Switch between layout options. See [Printing](https://www.ag-grid.com/react-data-grid/printing/) and [Auto Height](https://www.ag-grid.com/react-data-grid/grid-size/#auto-height-layout). Default: `normal` See [DOM Layout](https://www.ag-grid.com/react-data-grid/grid-size/#dom-layout) for more information. |
| `ensureDomOrder` | `boolean` |  | `false` | When `true`, the order of rows and columns in the DOM are consistent with what is on screen. Disables row animations. See [Accessibility - Row and Column Order](https://www.ag-grid.com/react-data-grid/accessibility/#ensure-dom-element-order) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `getBusinessKeyForNode` | `GetBusinessKeyForNode` |  |  | Return a business key for the node. If implemented, each row in the DOM will have an attribute `row-business-key='abc'` where `abc` is what you return as the business key. This is useful for automated testing, as it provides a way for your tool to identify rows based on unique business keys. |
| `gridId` | `string` |  |  | Provide a custom `gridId` for this instance of the grid. Value will be set on the root DOM node using the attribute `grid-id` as well as being accessible via the `gridApi.getGridId()` method. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `processRowPostCreate` | `ProcessRowPostCreate` |  |  | Callback fired after the row is rendered into the DOM. Should not be used to initiate side effects. |
| `enableRtl` | `boolean` |  | `false` | Set to `true` to operate the grid in RTL (Right to Left) mode. See [RTL (Right to Left)](https://www.ag-grid.com/react-data-grid/rtl/) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressColumnVirtualisation` | `boolean` |  | `false` | Set to `true` so that the grid doesn't virtualise the columns. For example, if you have 100 columns, but only 10 visible due to scrolling, all 100 will always be rendered. **It is not recommended to set this to `true` as it may cause performance issues.** See [Suppress Virtualisation](https://www.ag-grid.com/react-data-grid/dom-virtualisation/#suppress-virtualisation) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressRowVirtualisation` | `boolean` |  | `false` | Set to `true` so that the grid doesn't virtualise the rows. For example, if you have 100 rows, but only 10 visible due to scrolling, all 100 will always be rendered. **It is not recommended to set this to `true` as it may cause performance issues.** See [Suppress Row Virtualisation](https://www.ag-grid.com/react-data-grid/dom-virtualisation/#suppress-virtualisation) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressMaxRenderedRowRestriction` | `boolean` |  | `false` | By default the grid has a limit of rendering a maximum of 500 rows at once (remember the grid only renders rows you can see, so unless your display shows more than 500 rows without vertically scrolling this will never be an issue). **This is only relevant if you are manually setting `rowBuffer` to a high value (rendering more rows than can be seen), or `suppressRowVirtualisation` is true, or if your grid height is able to display more than 500 rows at once.** See [Max Rendered Rows](https://www.ag-grid.com/react-data-grid/dom-virtualisation/#max-rendered-rows) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `enableCellSpan` | `boolean` |  | `false` | When `true`, enables the cell span feature allowing for the use of the `colDef.spanRows` property. See [Row Spanning](https://www.ag-grid.com/react-data-grid/row-spanning/) for more information. Module: [`CellSpanModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressRowTransform` | `boolean` |  | `false` | Uses CSS `top` instead of CSS `transform` for positioning rows. Useful if the transform function is causing issues such as used in row spanning. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `enableContentVisibilityAuto` | `boolean` |  | `false` | Set to `true` to enable `content-visibility: auto` on the grid wrapper element. This improves performance by allowing the browser to skip rendering grids that are off screen. JavaScript size measurement APIs like `offsetWidth` or `getBoundingClientRect` will report zero size when the grid is off-screen. This means that APIs that need to measure the size of DOM elements, like `sizeColumnsToFit` will not work either. To ensure that `autoSizeStrategy` works, content-visibility:auto will only be applied 1000ms after rendering the first data. This can be customised with `contentVisibilityAutoDelay` See [Skip Rendering Off-Screen Grids](https://www.ag-grid.com/react-data-grid/scrolling-performance/#skip-rendering-off-screen-grids) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `contentVisibilityAutoDelay` | `number` |  | `1000` | The delay in ms between the firstDataRendered event and enabling content-visibility:auto on the grid wrapper element See [Skip Rendering Off-Screen Grids](https://www.ag-grid.com/react-data-grid/scrolling-performance/#skip-rendering-off-screen-grids) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Row Aggregation

See [Aggregation](https://www.ag-grid.com/react-data-grid/aggregation/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `aggFuncs` | `IAggFuncs` |  |  | A map of 'function name' to 'function' for custom aggregation functions. See [Custom Aggregation Functions](https://www.ag-grid.com/react-data-grid/aggregation-custom-functions/) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `groupTotalRow` | `'top' \| 'bottom' \| UseGroupTotalRow` |  |  | When provided, an extra row group total row will be inserted into row groups at the specified position, to display when the group is expanded. This row will contain the aggregate values for the group. If a callback function is provided, it can be used to selectively determine which groups will have a total row added. See [Group Total Rows](https://www.ag-grid.com/react-data-grid/aggregation-total-rows/#enabling-group-total-rows) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `grandTotalRow` | `'top' \| 'bottom' \| 'pinnedTop' \| 'pinnedBottom'` |  |  | When provided, an extra grand total row will be inserted into the grid at the specified position. This row displays the aggregate totals of all rows in the grid. See [Grand Total Row](https://www.ag-grid.com/react-data-grid/aggregation-total-rows/#enabling-a-grand-total-row) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressAggFuncInHeader` | `boolean` |  | `false` | When `true`, column headers won't include the `aggFunc` name, e.g. `'sum(Bank Balance)`' will just be `'Bank Balance'`. See [Omit Function Name from Header](https://www.ag-grid.com/react-data-grid/aggregation-columns/#omit-function-name-in-header) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `aggregateOnlyChangedColumns` | `boolean` |  | `false` | When using change detection, only the updated column will be re-aggregated. See [Change Detection](https://www.ag-grid.com/react-data-grid/change-detection/#tree-path-selection) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressAggFilteredOnly` | `boolean` |  | `false` | Set to `true` so that aggregations are not impacted by filtering. See [Aggregate Before Filtering](https://www.ag-grid.com/react-data-grid/aggregation-filtering/) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupAggFiltering` | `boolean \| IsRowFilterable` |  | `false` | Set to determine whether filters should be applied on aggregated group values. See [Filtering for Aggregate Values](https://www.ag-grid.com/react-data-grid/aggregation-filtering/#filtering-for-aggregated-values) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupSuppressBlankHeader` | `boolean` |  | `false` | If `true`, and showing footer, aggregate data will always be displayed at both the header and footer levels. This stops the possibly undesirable behaviour of the header details 'jumping' to the footer on expand. See [Showing Values in Group and Total Rows](https://www.ag-grid.com/react-data-grid/aggregation-total-rows/#keeping-group-row-values) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressStickyTotalRow` | `boolean \| 'grand' \| 'group'` |  |  | Suppress the sticky behaviour of the total rows, can be suppressed individually by passing `'grand'` or `'group'`. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `alwaysAggregateAtRootLevel` | `boolean` |  | `false` | When using aggregations, the grid will always calculate the root level aggregation value. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getGroupRowAgg` | `GetGroupRowAgg` |  |  | Callback to use when you need access to more then the current column for aggregation. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Row Drag and Drop

See [Row Dragging](https://www.ag-grid.com/react-data-grid/row-dragging/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `rowDragManaged` | `boolean` |  | `false` | Set to `true` to enable Managed Row Dragging. See [Managed Row Dragging](https://www.ag-grid.com/react-data-grid/row-dragging-managed/) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowDragEntireRow` | `boolean` |  | `false` | Set to `true` to enable clicking and dragging anywhere on the row without the need for a drag handle. See [Entire Row Dragging](https://www.ag-grid.com/react-data-grid/row-dragging-customisation/#entire-row-dragging) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowDragMultiRow` | `boolean` |  | `false` | Set to `true` to enable dragging multiple rows at the same time. See [Mulit-Row Dragging](https://www.ag-grid.com/react-data-grid/row-dragging-managed/#multi-row-dragging) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressRowDrag` | `boolean` |  | `false` | Set to `true` to suppress row dragging. See [Suppress Row Drag](https://www.ag-grid.com/react-data-grid/row-dragging-managed/#suppress-row-drag) for more information. |
| `suppressMoveWhenRowDragging` | `boolean` |  | `false` | Set to `true` to suppress moving rows while dragging the `rowDrag` waffle. This option highlights the position where the row will be placed and it will only move the row on mouse up. See [Suppress Move When Dragging](https://www.ag-grid.com/react-data-grid/row-dragging-managed/#suppress-move-when-dragging) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowDragText` | `RowDragTextFunc` |  |  | A callback that should return a string to be displayed by the `rowDragComp` while dragging a row. If this callback is not set, the current cell value will be used. If the `rowDragText` callback is set in the ColDef it will take precedence over this, except when `rowDragEntireRow=true`. See [Custom Row Drag Text](https://www.ag-grid.com/react-data-grid/row-dragging-customisation/#custom-row-drag-text) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `dragAndDropImageComponent` | `any` |  |  | Provide a custom drag and drop image component. See [Custom Drag and Drop Image](https://www.ag-grid.com/react-data-grid/row-dragging-customisation/#custom-drag-and-drop-image) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `dragAndDropImageComponentParams` | `any` |  |  | Customise the parameters provided to the Drag and Drop Image Component. See [Custom Drag and Drop Image](https://www.ag-grid.com/react-data-grid/row-dragging-customisation/#custom-params) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowDragInsertDelay` | `number` |  | `500` | Delay in milliseconds. When dragging over, it expands collapsed groups or converts leafs to groups after this delay. Default: `500`. See [Row Drag Insert Delay](https://www.ag-grid.com/react-data-grid/tree-data-row-dragging/#row-drag-insert-delay) for more information. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isRowValidDropPosition` | `IsRowValidDropPositionCallback` |  |  | Called by drag and drop when rows are dragged over another row to conditionally prevent dropping the dragged row on the hovered row. The user can cancel the drop by returning `false` or customize the operation by returning a `IsRowValidDropPositionResult`. Module: [`RowDragModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Row Full Width

See [Full Width Rows](https://www.ag-grid.com/react-data-grid/full-width-rows/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `fullWidthCellRenderer` | `any` |  |  | Provide your own cell renderer component to use for full width rows. See [Full Width Cell Renderer](https://www.ag-grid.com/react-data-grid/full-width-rows/) for more information. |
| `fullWidthCellRendererParams` | `any` |  |  | Customise the parameters provided to the `fullWidthCellRenderer` component. See [Full Width Cell Renderer](https://www.ag-grid.com/react-data-grid/full-width-rows/) for more information. |
| `embedFullWidthRows` | `boolean` |  |  | Set to `true` to have the Full Width Rows embedded in grid's main container so they can be scrolled horizontally. See [Embedded Full Width Rows](https://www.ag-grid.com/react-data-grid/full-width-rows/#embedded-full-width-rows) for more information. |
| `isFullWidthRow` | `IsFullWidthRow` |  |  | Tells the grid if this row should be rendered as full width. See [Full Width Rows](https://www.ag-grid.com/react-data-grid/full-width-rows/) for more information. |

### Row Grouping

See [Row Grouping](https://www.ag-grid.com/react-data-grid/grouping/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `groupDisplayType` | `RowGroupingDisplayType` |  |  | Specifies how the results of row grouping should be displayed. The options are: - `'singleColumn'`: single group column automatically added by the grid. - `'multipleColumns'`: a group column per row group is added automatically. - `'groupRows'`: group rows are automatically added instead of group columns. - `'custom'`: informs the grid that group columns will be provided. See [Row Grouping - Display Types](https://www.ag-grid.com/react-data-grid/grouping-display-types/) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `autoGroupColumnDef` | `AutoGroupColumnDef` |  |  | Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. Cell tooltip properties set here (`tooltipField`, `tooltipValueGetter`, `tooltipComponent`) apply to leaf rows only; group rows inherit cell tooltips from their underlying column `colDef`. `headerTooltip` continues to apply to the group column header. See [Group Column Configuration](https://www.ag-grid.com/react-data-grid/grouping-single-group-column/#configuration) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupRowRenderer` | `any` |  |  | Provide the Cell Renderer to use when `groupDisplayType = 'groupRows'`. See [Custom Group Row Cell Renderer](https://www.ag-grid.com/react-data-grid/grouping-group-rows/#custom-cell-renderer) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupRowRendererParams` | `any` |  |  | Customise the parameters provided to the `groupRowRenderer` component. See [Configuring Group Row Cell Renderer](https://www.ag-grid.com/react-data-grid/grouping-group-rows/#cell-component) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `showOpenedGroup` | `boolean` |  | `false` | Shows the open group in the group column for non-group rows. See [Showing Open Groups](https://www.ag-grid.com/react-data-grid/grouping-multiple-group-columns/#display-the-parent-group-value) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupHideOpenParents` | `boolean` |  | `false` | Set to `true` to hide parents that are open. When used with multiple columns for showing groups, it can give a more pleasing user experience. See [Hide Open Parents](https://www.ag-grid.com/react-data-grid/grouping-multiple-group-columns/#hiding-expanded-parent-rows) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupHideColumnsUntilExpanded` | `boolean` |  | `false` | When using `groupDisplayType='multipleColumns'` or `groupHideOpenParents=true`, hides group columns for levels that have not yet been expanded. Only the top-level group column is initially visible; each subsequent level becomes visible when at least one group at the preceding level is expanded. (Client Side Row Model only) See [Hiding Group Columns Until Expanded](https://www.ag-grid.com/react-data-grid/grouping-multiple-group-columns/#hiding-group-columns-until-expanded) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupHideParentOfSingleChild` | `boolean \| 'leafGroupsOnly'` |  | `false` | Enable to display the child row in place of the group row when the group only has a single child. See [Remove Single Children](https://www.ag-grid.com/react-data-grid/grouping-data/#hiding-parents-of-individual-rows) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `initialGroupOrderComparator` | `InitialGroupOrderComparator` |  |  | Allows default sorting of groups. See [Initial Group Order](https://www.ag-grid.com/react-data-grid/grouping-sorting/#unsorted-group-order) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupAllowUnbalanced` | `boolean` |  | `false` | Set to `true` to prevent the grid from creating a '(Blanks)' group for nodes which do not belong to a group, and display the unbalanced nodes alongside group nodes. See [Enabling Unbalanced Groups](https://www.ag-grid.com/react-data-grid/grouping-data/#grouping-on-null-and-undefined-data) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupMaintainOrder` | `boolean` |  | `false` | When `true`, sorting on non-group columns does not reorder groups; only the rows within each group are sorted. Group order remains the structural order set at grouping time (data-insertion order, or `initialGroupOrderComparator` if configured) and is preserved across filter changes and transactions. If a group column was sorted via `colDef.sort` and the user later explicitly clears that sort, the structural order is restored. With multi-level row grouping, the order is maintained per level: a sort on a group column at one level only re-orders that level's groups; sibling levels keep their structural order. Applies to row grouping only. Has no effect on tree data, where row order is determined by the tree structure. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupDefaultExpanded` | `number` |  | `0` | If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. See [Opening Group Levels by Default](https://www.ag-grid.com/react-data-grid/grouping-opening-groups/#expanding-by-group-level) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isGroupOpenByDefault` | `IsGroupOpenByDefault` |  |  | (Client-side Row Model only) Allows group rows to be open by default. For master rows use `isMasterOpenByDefault`. See [Open Groups by Default](https://www.ag-grid.com/react-data-grid/grouping-opening-groups/#expanding-via-callback) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressGroupRowsSticky` | `boolean` |  | `false` | Set to `true` prevent Group Rows from sticking to the top of the grid. See [Suppressing Sticky Groups](https://www.ag-grid.com/react-data-grid/grouping-opening-groups/#prevent-sticky-groups) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `rowGroupPanelShow` | `'always' \| 'onlyWhenGrouping' \| 'never'` |  | `'never'` | When to show the 'row group panel' (where you drag rows to group) at the top. See [Enabling Row Group Panel](https://www.ag-grid.com/react-data-grid/grouping-group-panel/#enabling-the-row-group-panel) for more information. Module: [`RowGroupingPanelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowGroupPanelSuppressSort` | `boolean` |  | `false` | Set to `true` to suppress sort indicators and actions from the row group panel. See [Suppress Sorting](https://www.ag-grid.com/react-data-grid/grouping-group-panel/#prevent-sorting) for more information. Module: [`RowGroupingPanelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `pivotPanelSuppressSort` | `boolean` |  | `false` | Set to `true` to suppress sort indicators and actions from the pivot panel and the column tool panel pivot pills. See [Sorting Pivot Columns](https://www.ag-grid.com/react-data-grid/pivoting-column-groups/#sorting-pivot-columns) for more information. Module: [`RowGroupingPanelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupLockGroupColumns` | `number` |  | `0` | If grouping, locks the group settings of a number of columns, e.g. `0` for no group locking. `1` for first group column locked, `-1` for all group columns locked. See [Group Lock Group Columns](https://www.ag-grid.com/react-data-grid/grouping-group-panel/#prevent-changes-to-group-order) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `groupHierarchyConfig` | `GroupHierarchyConfig` |  |  | Custom group hierarchy components can be defined here for later use in `colDef.groupHierarchy` See [Group Hierarchy Configuration](https://www.ag-grid.com/react-data-grid/grouping-data/#defining-custom-grouping-hierarchies) for more information. Module: [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressDragLeaveHidesColumns` | `boolean` |  | `false` | By default, dragging a column out of the grid, i.e. to the [Row Group Panel](https://www.ag-grid.com/react-data-grid/grouping-group-panel/), it will be hidden in the grid. This property prevents the column becoming hidden in the grid. Default: `false` See [Keeping Columns Visible](https://www.ag-grid.com/react-data-grid/grouping-group-panel/#prevent-user-grouping-from-hiding-columns) for more information. |
| `suppressGroupChangesColumnVisibility` | `boolean \| 'suppressHideOnGroup' \| 'suppressShowOnUngroup'` |  | `false` | Enable to prevent column visibility changing when grouped columns are changed. See [Keeping Columns Visible](https://www.ag-grid.com/react-data-grid/grouping-group-panel/#prevent-user-grouping-from-hiding-columns) for more information. |
| `ssrmExpandAllAffectsAllRows` | `boolean` |  |  | (Server-side Row Model only) Controls whether expandAll / collapseAll operations apply to all rows (not just loaded ones), and whether group interactions override the default expansion state set by `isServerSideGroupOpenByDefault`. When true, users must provide a `getRowId` function to ensure proper row identification. Default: `false`. See [Row Grouping - Expand All / Collapse All](https://www.ag-grid.com/react-data-grid/server-side-model-grouping/#expand-all--collapse-all) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `refreshAfterGroupEdit` | `boolean` |  | `false` | When `true`, the grid re-evaluates the grouping hierarchy after editing a grouped column value, moving the row to the correct group instantly. Also enables managed row dragging to update grouped column values so rows can move between groups. See [Row Grouping - Editing Groups](https://www.ag-grid.com/react-data-grid/grouping-edit/) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Row Pinning

Row data uses the [generic type](https://www.ag-grid.com/react-data-grid/typescript-generics/) `TData` if provided via `GridOptions&lt;TData&gt;`. Otherwise `TData` will default to `any`.

See [Row Pinning](https://www.ag-grid.com/react-data-grid/row-pinning/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `enableRowPinning` | `boolean \| 'top' \| 'bottom'` |  |  | Determines whether manual row pinning is enabled via the row context menu. Set to `true` to allow pinning rows to top or bottom. Set to `'top'` to allow pinning rows to the top only. Set to `'bottom'` to allow pinning rows to the bottom only. See [Row Pinning](https://www.ag-grid.com/react-data-grid/row-pinning/#enabling-row-pinning) for more information. Module: [`PinnedRowModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isRowPinnable` | `IsRowPinnable` |  |  | Return `true` if the grid should allow the row to be manually pinned. Return `false` if the grid should prevent the row from being pinned When not defined, all rows default to pinnable. See [Row Pinning](https://www.ag-grid.com/react-data-grid/row-pinning/#preventing-rows-from-being-pinnable) for more information. Module: [`PinnedRowModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isRowPinned` | `IsRowPinned` |  |  | Called for every row in the grid. Return "top", "bottom" if the row should be initially pinned to the top or bottom respectively. Return `null` or `undefined` otherwise. User interactions can subsequently still change the pinned state of a row. See [Row Pinning](https://www.ag-grid.com/react-data-grid/row-pinning/#pinning-rows-on-first-render) for more information. Module: [`PinnedRowModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `pinnedTopRowData` | `any[]` |  |  | Data to be displayed as pinned top rows in the grid. See [Row Pinning](https://www.ag-grid.com/react-data-grid/row-pinning/#providing-pinned-row-data) for more information. Module: [`PinnedRowModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `pinnedBottomRowData` | `any[]` |  |  | Data to be displayed as pinned bottom rows in the grid. See [Row Pinning](https://www.ag-grid.com/react-data-grid/row-pinning/#providing-pinned-row-data) for more information. Module: [`PinnedRowModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Row Pivoting

See [Pivoting](https://www.ag-grid.com/react-data-grid/pivoting/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `pivotMode` | `boolean` |  | `false` | Set to `true` to enable pivot mode. See [Pivoting](https://www.ag-grid.com/react-data-grid/pivoting/) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `pivotPanelShow` | `'always' \| 'onlyWhenPivoting' \| 'never'` |  | `'never'` | When to show the 'pivot panel' (where you drag rows to pivot) at the top. Note that the pivot panel will never show if `pivotMode` is off. See [Enabling the Pivot Panel](https://www.ag-grid.com/react-data-grid/pivoting/#enabling-the-pivot-panel) for more information. Module: [`RowGroupingPanelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `pivotDefaultExpanded` | `number` |  | `0` | If pivoting, set to the number of column group levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. See [Expand Pivot Column Groups by Default](https://www.ag-grid.com/react-data-grid/pivoting-column-groups/#expanded-by-default) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `pivotRowTotals` | `PivotRowTotals` |  |  | When set and the grid is in pivot mode, automatically calculated totals will appear for each value column in the position specified. See [Pivot Row Totals](https://www.ag-grid.com/react-data-grid/pivoting-totals/#row-totals) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `pivotColumnGroupTotals` | `PivotColumnGroupTotals` |  |  | When set and the grid is in pivot mode, automatically calculated totals will appear within the Pivot Column Groups, in the position specified. See [Pivot Column Group Totals](https://www.ag-grid.com/react-data-grid/pivoting-totals/#column-group-totals) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `pivotSuppressAutoColumn` | `boolean` |  | `false` | If `true`, the grid will not swap in the grouping column when pivoting. Useful if pivoting using [Server Side Row Model](https://www.ag-grid.com/react-data-grid/server-side-model/) or [Viewport Row Model](https://www.ag-grid.com/react-data-grid/viewport/) and you want full control of all columns including the group column. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `pivotMaxGeneratedColumns` | `number` |  | `-1` | The maximum number of generated columns before the grid halts execution. Upon reaching this number, the grid halts generation of columns and triggers a `pivotMaxColumnsExceeded` event. `-1` for no limit. See [Pivot Max Generated Columns](https://www.ag-grid.com/react-data-grid/pivoting-result-columns/#limiting-column-generation) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processPivotResultColDef` | `ProcessPivotResultColDef` |  |  | Callback for the mutation of the generated pivot result column definitions See [Pivot Result Column Definitions](https://www.ag-grid.com/react-data-grid/pivoting-result-columns/#column-definitions) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `processPivotResultColGroupDef` | `ProcessPivotResultColGroupDef` |  |  | Callback for the mutation of the generated pivot result column group definitions See [Pivot Result Column Group Definitions](https://www.ag-grid.com/react-data-grid/pivoting-column-groups/#customising-group-definitions) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressExpandablePivotGroups` | `boolean` |  | `false` | When enabled, pivot column groups will appear 'fixed', without the ability to expand and collapse the column groups. See [Prevent Expanding Pivot Column Groups](https://www.ag-grid.com/react-data-grid/pivoting-column-groups/#prevent-expanding-groups) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `functionsReadOnly` | `boolean` |  | `false` | If `true`, then row group, pivot and value aggregation will be read-only from the GUI. The grid will display what values are used for each, but will not allow the user to change the selection. See [Read Only Functions](https://www.ag-grid.com/react-data-grid/tool-panel-columns/#read-only-functions) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `removePivotHeaderRowWhenSingleValueColumn` | `boolean` |  | `false` | Set to `true` to omit the value Column header when there is only a single value column. See [Hiding Repeated Value Column Labels](https://www.ag-grid.com/react-data-grid/pivoting-column-groups/#hide-group-with-single-value-column) for more information. Module: [`PivotModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### RowModel

See [Row Model](https://www.ag-grid.com/react-data-grid/row-models/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `rowModelType` | `RowModelType` |  | `'clientSide'` | Sets the row model type. See [Row Model](https://www.ag-grid.com/react-data-grid/row-models/) for more information. Modules (any of): [`ClientSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`ViewportRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `getRowId` | `GetRowIdFunc` |  |  | Provide a pure function that returns a string ID to uniquely identify a given row. This enables the grid to work optimally with data changes and updates. See [Row IDs](https://www.ag-grid.com/react-data-grid/row-ids/) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### RowModel: Client-Side

Row data uses the [generic type](https://www.ag-grid.com/react-data-grid/typescript-generics/) `TData` if provided via `GridOptions&lt;TData&gt;`. Otherwise `TData` will default to `any`.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `rowData` | [`TData[] \| null`](https://www.ag-grid.com/react-data-grid/typescript-generics/#row-data-tdata) |  |  | Set the data to be displayed as rows in the grid. See [Updating Row Data](https://www.ag-grid.com/react-data-grid/data-update-row-data/) for more information. Module: [`ClientSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `resetRowDataOnUpdate` | `boolean` |  | `false` | When enabled, getRowId() callback is implemented and new Row Data is set, the grid will disregard all previous rows and treat the new Row Data as new data. As a consequence, all Row State (eg selection, rendered rows) will be reset. Module: [`ClientSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `asyncTransactionWaitMillis` | `number` |  |  | How many milliseconds to wait before executing a batch of async transactions. See [Async transactions](https://www.ag-grid.com/react-data-grid/data-update-high-frequency/) for more information. |
| `suppressModelUpdateAfterUpdateTransaction` | `boolean` |  | `false` | Prevents [Transactions](https://www.ag-grid.com/react-data-grid/data-update-transactions/) changing sort, filter, group or pivot state when transaction only contains updates. Default: `false` See [Suppress Model Updates](https://www.ag-grid.com/react-data-grid/data-update-transactions/#suppress-model-updates) for more information. |

### RowModel: Infinite

See [Infinite Row Model](https://www.ag-grid.com/react-data-grid/infinite-scrolling/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `datasource` | [`IDatasource`](https://www.ag-grid.com/react-data-grid/infinite-scrolling/#datasource-interface) |  |  | Provide the datasource for infinite scrolling. See [Datasource](https://www.ag-grid.com/react-data-grid/infinite-scrolling/#datasource) for more information. Module: [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `cacheOverflowSize` | `number` |  | `1` | How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data. See [More Control via Properties and API](https://www.ag-grid.com/react-data-grid/infinite-scrolling/#more-control-via-properties-and-api) for more information. Module: [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `maxConcurrentDatasourceRequests` | `number` |  | `2` | How many requests to hit the server with concurrently. If the max is reached, requests are queued. Set to `-1` for no maximum restriction on requests. See [More Control via Properties and API](https://www.ag-grid.com/react-data-grid/infinite-scrolling/#more-control-via-properties-and-api) for more information. Modules (any of): [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `cacheBlockSize` | `number` |  | `100` | How many rows for each block in the store, i.e. how many rows returned from the server at a time. See [More Control via Properties and API](https://www.ag-grid.com/react-data-grid/infinite-scrolling/#more-control-via-properties-and-api) for more information. Modules (any of): [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `maxBlocksInCache` | `number` |  |  | How many blocks to keep in the store. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. See [More Control via Properties and API](https://www.ag-grid.com/react-data-grid/infinite-scrolling/#more-control-via-properties-and-api) for more information. Modules (any of): [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `infiniteInitialRowCount` | `number` |  | `1` | How many extra blank rows to display to the user at the end of the dataset, which sets the vertical scroll and then allows the grid to request viewing more rows of data. See [More Control via Properties and API](https://www.ag-grid.com/react-data-grid/infinite-scrolling/#more-control-via-properties-and-api) for more information. Module: [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### RowModel: Server-Side

See [Server-Side Row Model](https://www.ag-grid.com/react-data-grid/server-side-model/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `serverSideDatasource` | [`IServerSideDatasource`](https://www.ag-grid.com/react-data-grid/server-side-model-datasource/#registering-the-datasource) |  |  | Provide the `serverSideDatasource` for server side row model. See [Registering the Datasource](https://www.ag-grid.com/react-data-grid/server-side-model-datasource/#registering-the-datasource) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `cacheBlockSize` | `number` |  | `100` | How many rows for each block in the cache, i.e. how many rows returned from the server at a time. Default: `100` See [Server-Side Cache](https://www.ag-grid.com/react-data-grid/server-side-model-configuration/#server-side-cache) for more information. Modules (any of): [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `maxBlocksInCache` | `number` |  |  | How many blocks to keep in the cache. Default is no limit, so every requested block is kept. Use this if you have memory concerns, and blocks that were least recently viewed will be purged when the limit is hit. The grid will additionally make sure it has all the blocks needed to display what is currently visible, in case this property is set to a low value. See [Server-Side Cache](https://www.ag-grid.com/react-data-grid/server-side-model-configuration/#server-side-cache) for more information. Modules (any of): [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `maxConcurrentDatasourceRequests` | `number` |  | `2` | How many requests to hit the server with concurrently. If the max is reached, requests are queued. Set to `-1` for no maximum restriction on requests. See [Providing Additional Data](https://www.ag-grid.com/react-data-grid/server-side-model-configuration/#providing-additional-data) for more information. Modules (any of): [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `blockLoadDebounceMillis` | `number` |  |  | How many milliseconds to wait before loading a block. Useful when scrolling over many blocks, as it prevents blocks loading until scrolling has settled. See [Block Loading Debounce](https://www.ag-grid.com/react-data-grid/server-side-model-configuration/#block-loading-debounce) for more information. Modules (any of): [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/), [`InfiniteRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressServerSideFullWidthLoadingRow` | `boolean` |  |  | When `true`, the Server-side Row Model will not use a full width loading renderer, instead using the colDef `loadingCellRenderer` if present. See [Cell Loading](https://www.ag-grid.com/react-data-grid/component-loading-cell-renderer/#skeleton-loading) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `purgeClosedRowNodes` | `boolean` |  | `false` | When enabled, closing group rows will remove children of that row. Next time the row is opened, child rows will be read from the datasource again. This property only applies when there is [Row Grouping](https://www.ag-grid.com/react-data-grid/server-side-model-grouping/). Default: `false` Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `serverSidePivotResultFieldSeparator` | `string` |  | `'_'` | Used to split pivot field strings for generating pivot result columns when `pivotResultFields` is provided as part of a `getRows` success. See [Supplying Pivot Result Fields](https://www.ag-grid.com/react-data-grid/server-side-model-pivoting/#supplying-pivot-result-fields-simple) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `serverSideSortAllLevels` | `boolean` |  | `false` | When enabled, always refreshes top level groups regardless of which column was sorted. This property only applies when there is Row Grouping & sorting is handled on the server. See [Sorting All Levels](https://www.ag-grid.com/react-data-grid/server-side-model-sorting/#sorting-all-levels) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `serverSideEnableClientSideSort` | `boolean` |  | `false` | When enabled, sorts fully loaded groups in the browser instead of requesting from the server. See [Client-side Sorting](https://www.ag-grid.com/react-data-grid/server-side-model-sorting/#client-side-sorting) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `serverSideOnlyRefreshFilteredGroups` | `boolean` |  | `false` | When enabled, only refresh groups directly impacted by a filter. This property only applies when there is Row Grouping & filtering is handled on the server. See [Filters](https://www.ag-grid.com/react-data-grid/server-side-model-grouping/#filters) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `serverSideInitialRowCount` | `number` |  | `1` | Set how many loading rows to display to the user for the root level group. See [Initial Scroll Position](https://www.ag-grid.com/react-data-grid/server-side-model-configuration/#initial-scroll-position) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `getChildCount` | `GetChildCount` |  |  | Allows setting the child count for a group row. See [Providing Child Counts](https://www.ag-grid.com/react-data-grid/server-side-model-grouping/#providing-child-counts) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `getServerSideGroupLevelParams` | `GetServerSideGroupLevelParams` |  |  | Allows providing different params for different levels of grouping. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `isServerSideGroupOpenByDefault` | `IsServerSideGroupOpenByDefault` |  |  | Allows groups to be open by default. See [Open by Default](https://www.ag-grid.com/react-data-grid/server-side-model-grouping/#open-by-default) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isApplyServerSideTransaction` | `IsApplyServerSideTransaction` |  |  | Allows cancelling transactions. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isServerSideGroup` | `IsServerSideGroup` |  |  | SSRM Tree Data: Allows specifying which rows are expandable. See [SSRM Tree Data](https://www.ag-grid.com/react-data-grid/server-side-model-tree-data/) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getServerSideGroupKey` | `GetServerSideGroupKey` |  |  | SSRM Tree Data: Allows specifying group keys. See [SSRM Tree Data](https://www.ag-grid.com/react-data-grid/server-side-model-tree-data/) for more information. Module: [`ServerSideRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### RowModel: Viewport

See [Viewport Row Model](https://www.ag-grid.com/react-data-grid/viewport/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `viewportDatasource` | [`IViewportDatasource`](https://www.ag-grid.com/react-data-grid/viewport/#interface-iviewportdatasource) |  |  | To use the viewport row model you need to provide the grid with a `viewportDatasource`. See [Interface IViewportDatasource](https://www.ag-grid.com/react-data-grid/viewport/#interface-iviewportdatasource) for more information. Module: [`ViewportRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `viewportRowModelPageSize` | `number` |  |  | When using viewport row model, sets the page size for the viewport. See [viewportRowModelPageSize](https://www.ag-grid.com/react-data-grid/viewport/#viewportrowmodelpagesize) for more information. Module: [`ViewportRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `viewportRowModelBufferSize` | `number` |  |  | When using viewport row model, sets the buffer size for the viewport. See [viewportRowModelBufferSize](https://www.ag-grid.com/react-data-grid/viewport/#viewportrowmodelbuffersize) for more information. Module: [`ViewportRowModelModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Scrolling

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `alwaysShowHorizontalScroll` | `boolean` |  | `false` | Set to `true` to always show the horizontal scrollbar. Windows and Mac OS both have settings to control scrollbar visibility. Depending on your browser, you may need to adjust the scrollbar settings in your OS to have this property take effect. |
| `alwaysShowVerticalScroll` | `boolean` |  | `false` | Set to `true` to always show the vertical scrollbar. Windows and Mac OS both have settings to control scrollbar visibility. Depending on your browser, you may need to adjust the scrollbar settings in your OS to have this property take effect. |
| `debounceVerticalScrollbar` | `boolean` |  | `false` | Set to `true` to debounce the vertical scrollbar. Can provide smoother scrolling on slow machines. See [Debounce Vertical Scroll](https://www.ag-grid.com/react-data-grid/scrolling-performance/#debounce-vertical-scroll) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressHorizontalScroll` | `boolean` |  | `false` | Set to `true` to never show the horizontal scroll. This is useful if the grid is aligned with another grid and will scroll when the other grid scrolls. (Should not be used in combination with `alwaysShowHorizontalScroll`.) See [Aligned Grid as Footer](https://www.ag-grid.com/react-data-grid/aligned-grids/#example-aligned-grid-as-footer) for more information. |
| `suppressScrollOnNewData` | `boolean` |  | `false` | When `true`, the grid will not scroll to the top when new row data is provided. Use this if you don't want the default behaviour of scrolling to the top every time you load new data. |
| `suppressScrollWhenPopupsAreOpen` | `boolean` |  | `false` | When `true`, the grid will not allow mousewheel / touchpad scroll when popup elements are present. |
| `suppressAnimationFrame` | `boolean` |  | `false` | When `true`, the grid will not use animation frames when drawing rows while scrolling. Use this if and only if the grid is working fast enough on all users machines and you want to avoid the temporarily empty rows. **Note:** It is not recommended to set suppressAnimationFrame to `true` in most use cases as this can seriously degrade the user experience as all cells are rendered synchronously blocking the UI thread from scrolling. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `suppressMiddleClickScrolls` | `boolean` |  | `false` | If `true`, middle clicks will result in `click` events for cells and rows. Otherwise the browser will use middle click to scroll the grid.**Note:** Not all browsers fire `click` events with the middle button. Most will fire only `mousedown` and `mouseup` events, which can be used to focus a cell, but will not work to call the `onCellClicked` function. |
| `suppressPreventDefaultOnMouseWheel` | `boolean` |  | `false` | If `true`, mouse wheel events will be passed to the browser. Useful if your grid has no vertical scrolls and you want the mouse to scroll the browser page. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `scrollbarWidth` | `number` |  |  | Tell the grid how wide in pixels the scrollbar is, which is used in grid width calculations. Set only if using non-standard browser-provided scrollbars, so the grid can use the non-standard size in its calculations. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Selection

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `cellSelection` | `boolean \| CellSelectionOptions` |  |  | Configure cell selection. See [Cell Selection](https://www.ag-grid.com/react-data-grid/cell-selection/) for more information. Module: [`CellSelectionModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowSelection` | `RowSelectionOptions \| 'single' \| 'multiple'` |  |  | Use the `RowSelectionOptions` object to configure row selection. The string values `'single'` and `'multiple'` are deprecated. See [Row Selection](https://www.ag-grid.com/react-data-grid/row-selection/) for more information. Module: [`RowSelectionModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `selectionColumnDef` | `SelectionColumnDef` |  |  | Configure the selection column, used for displaying checkboxes. Note that due to the nature of this column, this type is a subset of `ColDef`, which does not support several normal column features such as editing, pivoting and grouping. See [Selection Column Definition](https://www.ag-grid.com/react-data-grid/row-selection-single-row/#customising-the-checkbox-column) for more information. |
| `suppressCellFocus` | `boolean` |  | `false` | If `true`, cells won't be focusable. This means keyboard navigation will be disabled for grid cells, but remain enabled in other elements of the grid such as column headers, floating filters, tool panels. See [Suppress Cell Focus](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#suppress-cell-focus) for more information. |
| `suppressHeaderFocus` | `boolean` |  | `false` | If `true`, header cells won't be focusable. This means keyboard navigation will be disabled for grid header cells, but remain enabled in other elements of the grid such as grid cells and tool panels. See [Suppress Header Focus](https://www.ag-grid.com/react-data-grid/keyboard-navigation/#suppress-header-focus) for more information. |
| `enableCellTextSelection` | `boolean` |  | `false` | Set to `true` to be able to select the text within cells. **Note:** When this is set to `true`, the clipboard service is disabled and only selected text is copied. See [Using Cell Text Selection](https://www.ag-grid.com/react-data-grid/clipboard/#using-the-browsers-text-selection) for more information. |

### Sorting

See [Row Sorting](https://www.ag-grid.com/react-data-grid/row-sorting/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `accentedSort` | `boolean` |  | `false` | Set to `true` to specify that the sort should take accented characters into account. If this feature is turned on the sort will be slower. See [Locale-specific Sort](https://www.ag-grid.com/react-data-grid/row-sorting/#locale-specific-sort) for more information. |
| `suppressMultiSort` | `boolean` |  | `false` | Set to `true` to suppress multi-sort when the user shift-clicks a column header. See [Multi Column Sorting](https://www.ag-grid.com/react-data-grid/row-sorting/#multi-column-sorting) for more information. |
| `alwaysMultiSort` | `boolean` |  | `false` | Set to `true` to always multi-sort when the user clicks a column header, regardless of key presses. See [Multi Column Sorting](https://www.ag-grid.com/react-data-grid/row-sorting/#multi-column-sorting) for more information. |
| `multiSortKey` | `'ctrl'` |  |  | Set to `'ctrl'` to have multi sorting work using the ^ Ctrl (or Command ⌘ for Mac) key. See [Multi Column Sorting](https://www.ag-grid.com/react-data-grid/row-sorting/#multi-column-sorting) for more information. |
| `suppressMaintainUnsortedOrder` | `boolean` |  | `false` | Set to `true` to suppress sorting of un-sorted data to match original row data. See [Comparison to Transaction Updates](https://www.ag-grid.com/react-data-grid/data-update-row-data/#comparison-to-transaction-updates) for more information. |
| `postSortRows` | `PostSortRows` |  |  | Callback to perform additional sorting after the grid has sorted the rows. When configured, `deltaSort` is ignored. See [Post Sort](https://www.ag-grid.com/react-data-grid/row-sorting/#post-sort) for more information. |
| `deltaSort` | `boolean` |  | `false` | When enabled, sorts only the rows added/updated by a transaction. Ignored when `postSortRows` is configured (falls back to full sort). See [Delta sorting](https://www.ag-grid.com/react-data-grid/data-update-transactions/#delta-sorting) for more information. |

### Styling

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `icons` | `Icons` |  |  | Icons to use inside the grid instead of the grid's default icons. See [Custom Icons](https://www.ag-grid.com/react-data-grid/custom-icons/#set-the-icons-through-gridoptions-javascript) for more information. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `rowHeight` | `number` |  | `25` | Default row height in pixels. See [Row Height](https://www.ag-grid.com/react-data-grid/row-height/) for more information. |
| `getRowHeight` | `GetRowHeight` |  |  | Callback version of property `rowHeight` to set height for each row individually. Function should return a positive number of pixels, or return `null`/`undefined` to use the default row height. See [Row Height](https://www.ag-grid.com/react-data-grid/row-height/) for more information. |
| `rowStyle` | `RowStyle` |  |  | The style properties to apply to all rows. Set to an object of key (style names) and values (style values). See [Row Style](https://www.ag-grid.com/react-data-grid/row-styles/#row-style) for more information. Module: [`RowStyleModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getRowStyle` | `GetRowStyle` |  |  | Callback version of property `rowStyle` to set style for each row individually. Function should return an object of CSS values or undefined for no styles. See [Row Style](https://www.ag-grid.com/react-data-grid/row-styles/#row-style) for more information. Module: [`RowStyleModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowClass` | `string \| string[]` |  |  | CSS class(es) for all rows. Provide either a string (class name) or array of strings (array of class names). See [Row Class](https://www.ag-grid.com/react-data-grid/row-styles/#row-class) for more information. Module: [`RowStyleModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getRowClass` | `GetRowClass` |  |  | Callback version of property `rowClass` to set class(es) for each row individually. Function should return either a string (class name), array of strings (array of class names) or undefined for no class. See [Row Class](https://www.ag-grid.com/react-data-grid/row-styles/#row-class) for more information. Module: [`RowStyleModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `rowClassRules` | `RowClassRules` |  |  | Rules which can be applied to include certain CSS classes. See [Row Class Rules](https://www.ag-grid.com/react-data-grid/row-styles/#row-class-rules) for more information. Module: [`RowStyleModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressRowHoverHighlight` | `boolean` |  | `false` | Set to `true` to not highlight rows by adding the `ag-row-hover` CSS class. See [Highlighting Rows and Columns](https://www.ag-grid.com/react-data-grid/row-styles/#highlighting-rows-and-columns) for more information. |
| `columnHoverHighlight` | `boolean` |  | `false` | Set to `true` to highlight columns by adding the `ag-column-hover` CSS class. See [Highlighting Rows and Columns](https://www.ag-grid.com/react-data-grid/row-styles/#highlighting-rows-and-columns) for more information. Module: [`ColumnHoverModule`](https://www.ag-grid.com/react-data-grid/modules/). |

### Theme

See [Theming](https://www.ag-grid.com/react-data-grid/theming/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `theme` | `Theme \| 'legacy'` |  | `themeQuartz` | Theme to apply to the grid, or the string "legacy" to opt back into the v32 style of theming where themes were imported as CSS files and applied by setting a class name on the parent element. See [Built-in themes](https://www.ag-grid.com/react-data-grid/themes/) for more information. |
| `loadThemeGoogleFonts` | `boolean` |  |  | If your theme uses a font that is available on Google Fonts, pass true to load it from Google's CDN. See [Loading Google Fonts](https://www.ag-grid.com/react-data-grid/theming-fonts/#loading-google-fonts) for more information. |
| `themeStyleContainer` | [`HTMLElement \| (() => HTMLElement \| void)`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement) |  |  | An element to insert style elements into when injecting styles into the grid. Styles are inserted at the start of the element. If undefined, styles will be added to the document head for grids rendered in the main document fragment, or to the grid wrapper element for other grids (e.g. those rendered in a shadow DOM or detached from the document). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `themeCssLayer` | `string` |  |  | The CSS layer that this theme should be rendered onto. When specified, grid CSS will be wrapped in a `@layer ${themeCssLayer} { ... }` block. NOTE: when specifying `themeCssLayer` we recommend setting `themeStyleContainer` to `document.body` to ensure that the grid CSS comes after your application CSS, allowing your application to set the order of layers. See [CSS Layers](https://www.ag-grid.com/react-data-grid/theming/#css-layers) for more information. |
| `styleNonce` | `string` |  |  | The nonce attribute to set on style elements added to the document by themes. If "foo" is passed to this property, the grid can use the Content Security Policy `style-src 'nonce-foo'`, instead of the less secure `style-src 'unsafe-inline'`. Note: CSP nonces are global to a page, where a page has multiple grids, every one must have the same styleNonce set. See [Security](https://www.ag-grid.com/react-data-grid/security/#style-src) for more information. |

### Tooltips

See [Tooltip Component](https://www.ag-grid.com/react-data-grid/tooltips/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `enableBrowserTooltips` | `boolean` |  | `false` | Set to `true` to use the browser's default tooltip instead of using the grid's Tooltip Component. See [Default Browser Tooltip](https://www.ag-grid.com/react-data-grid/tooltips/#browser-tooltip) for more information. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `tooltipShowDelay` | `number` |  | `2000` | The delay in milliseconds that it takes for tooltips to show up once an element is hovered over. **Note:** This property does not work if `enableBrowserTooltips` is `true`. See [Tooltip Show and Hide Delay](https://www.ag-grid.com/react-data-grid/tooltips/#show-and-hide-delay) for more information. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `tooltipSwitchShowDelay` | `number` |  | `200` | The delay in milliseconds before a tooltip is shown when moving the pointer from one tooltip-enabled element to another while the previous tooltip is still visible or pending hide. **Note:** This property does not work if `enableBrowserTooltips` is `true`. See [Tooltip Show and Hide Delay](https://www.ag-grid.com/react-data-grid/tooltips/#show-and-hide-delay) for more information. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `tooltipHideDelay` | `number` |  | `10000` | The delay in milliseconds that it takes for tooltips to hide once they have been displayed. **Note:** This property does not work if `enableBrowserTooltips` is `true` and `tooltipHideTriggers` includes `timeout`. See [Tooltip Show and Hide Delay](https://www.ag-grid.com/react-data-grid/tooltips/#show-and-hide-delay) for more information. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `tooltipMouseTrack` | `boolean` |  | `false` | Set to `true` to have tooltips follow the cursor once they are displayed. See [Mouse Tracking](https://www.ag-grid.com/react-data-grid/tooltips/#mouse-tracking) for more information. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `tooltipShowMode` | `'standard' \| 'whenTruncated'` |  | ``standard`` | This defines when tooltip will show up for Cells, Headers and SetFilter Items. - `standard` - The tooltip always shows up when the items configured with Tooltips are hovered. - `whenTruncated` - The tooltip will only be displayed when the items hovered have truncated (showing ellipsis) values. This property does not work when `enableBrowserTooltips={true}`. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `tooltipTrigger` | `'hover' \| 'focus'` |  | `'hover'` | The trigger that will cause tooltips to show and hide. - `hover` - The tooltip will show/hide when a cell/header is hovered. - `focus` - The tooltip will show/hide when a cell/header is focused. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `tooltipInteraction` | `boolean` |  | `false` | Set to `true` to enable tooltip interaction. When this option is enabled, the tooltip will not hide while the tooltip itself it being hovered or has focus. See [Interactive Tooltips](https://www.ag-grid.com/react-data-grid/tooltips/#interactive-tooltips) for more information. Module: [`TooltipModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Tree Data

Tree Data provides a way to supply the grid with structured hierarchical data.

See [Tree Data](https://www.ag-grid.com/react-data-grid/tree-data/) for more information.

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `treeData` | `boolean` |  | `false` | Set to `true` to enable the Grid to work with Tree Data. You must also implement the `getDataPath(data)` callback. See [Tree Data](https://www.ag-grid.com/react-data-grid/tree-data/) for more information. Module: [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `getDataPath` | `GetDataPath` |  |  | Callback to be used when working with Tree Data when `treeData = true`. See [Tree Data](https://www.ag-grid.com/react-data-grid/tree-data/) for more information. Module: [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |
| `treeDataChildrenField` | `string` |  |  | The name of the field to use in a data item to retrieve the array of children nodes of a node when while using treeData=true. It supports accessing nested fields using the dot notation. See [Tree Data](https://www.ag-grid.com/react-data-grid/tree-data/) for more information. Module: [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `treeDataParentIdField` | `string` |  |  | The name of the field to use in a data item to find the parent node of a node when using treeData=true. The tree will be constructed via relationships between nodes using this field. getRowId callback need to be provided as well for this to work. It supports accessing nested fields using the dot notation. See [Tree Data](https://www.ag-grid.com/react-data-grid/tree-data/) for more information. Module: [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `treeDataDisplayType` | `TreeDataDisplayType` |  |  | Specifies how tree data should be displayed. The options are: - `'auto'`: group column automatically added by the grid. - `'custom'`: informs the grid that group columns will be provided. Module: [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `autoGroupColumnDef` | `AutoGroupColumnDef` |  |  | Allows specifying the group 'auto column' if you are not happy with the default. If grouping, this column definition is included as the first column in the grid. If not grouping, this column is not included. Cell tooltip properties set here (`tooltipField`, `tooltipValueGetter`, `tooltipComponent`) apply to leaf rows only; group rows inherit cell tooltips from their underlying column `colDef`. `headerTooltip` continues to apply to the group column header. See [Group Column Configuration](https://www.ag-grid.com/react-data-grid/grouping-single-group-column/#configuration) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `groupDefaultExpanded` | `number` |  | `0` | If grouping, set to the number of levels to expand by default, e.g. `0` for none, `1` for first level only, etc. Set to `-1` to expand everything. See [Opening Group Levels by Default](https://www.ag-grid.com/react-data-grid/grouping-opening-groups/#expanding-by-group-level) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `isGroupOpenByDefault` | `IsGroupOpenByDefault` |  |  | (Client-side Row Model only) Allows group rows to be open by default. For master rows use `isMasterOpenByDefault`. See [Open Groups by Default](https://www.ag-grid.com/react-data-grid/grouping-opening-groups/#expanding-via-callback) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). |
| `suppressGroupRowsSticky` | `boolean` |  | `false` | Set to `true` prevent Group Rows from sticking to the top of the grid. See [Suppressing Sticky Groups](https://www.ag-grid.com/react-data-grid/grouping-opening-groups/#prevent-sticky-groups) for more information. Modules (any of): [`RowGroupingModule`](https://www.ag-grid.com/react-data-grid/modules/), [`TreeDataModule`](https://www.ag-grid.com/react-data-grid/modules/). [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### Grid Options

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `gridOptions` | [`GridOptions`](https://www.ag-grid.com/react-data-grid/grid-options/) |  |  | All the above properties can also be specified on a single `gridOptions` object. If an option is set via `gridOptions`, as well as directly on the component, then the component value will take precedence. `gridOptions` is only read during initialisation, if you change it afterwards it will not impact the grid. [Initial](https://www.ag-grid.com/react-data-grid/grid-interface/#initial-grid-options). |

### React Rendering

| Property | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| `renderingMode` | `'default' \| 'legacy'` |  | `'default'` | ** React only**. Enables fine grained control over the row rendering mechanism. - `default` - recommended rendering approach. - `legacy` - provided for backwards compatibility with previous versions of AG Grid (<= v33). Is susceptible to "Maximum Update Depth Exceeded" errors and so may be removed in a future version. |
