DataGridProAPI
React DataGridPro 组件的 API 参考文档。了解此导出模块的 props、CSS 和其他 API。
演示
导入
import { DataGridPro } from '@mui/x-data-grid-pro/DataGridPro';
// or
import { DataGridPro } from '@mui/x-data-grid-pro';
// or
import { DataGridPro } from '@mui/x-data-grid-premium';
通过阅读关于最小化 bundle size 的指南,了解它们之间的区别。
用户发起自动调整大小时的选项。
类型:{ columns?: Array<string>, disableColumnVirtualization?: bool, expand?: bool, includeHeaders?: bool, includeOutliers?: bool, outliersFactor?: number }
如果为 true
,则“全选”标题复选框仅选择当前页面上的行。与 checkboxSelection
结合使用。仅在启用分页时有效。
类型:bool
默认值:false
如果为 true
,则禁用使用 Ctrl/CMD 或 Shift 键进行多选。除非启用了 checkboxSelection
,否则 MIT DataGrid 将忽略此属性。
类型:bool
默认值:false (MIT Data Grid 的
!props.checkboxSelection
)
如果预先不知道实际的 rowCount,但可以进行估计,请使用此属性。如果某些行具有子项(例如在树状数据中),则此数字表示顶层行的数量。仅适用于 paginationMode="server"
且 rowCount="-1"
时
类型:number
不稳定的功能,可能会引入重大更改。对于每个功能,如果未显式将标志设置为 true
,则该功能将被完全禁用,并且任何属性/方法调用都不会产生任何影响。
类型:{ warnIfFocusStateIsNotSynced?: bool }
设置数据表格的筛选模型。
类型:{ items: Array<{ field: string, id?: number
| string, operator: string, value?: any }>, logicOperator?: 'and'
| 'or', quickFilterExcludeHiddenColumns?: bool, quickFilterLogicOperator?: 'and'
| 'or', quickFilterValues?: array }
动态地将 CSS 类应用于单元格的函数。
类型:func
返回要在行详细信息中渲染的元素的函数。
类型:func
返回行详细信息面板高度的函数。
类型:func
默认值:"() => 500"
function(params: GridRowParams) => number | string
params
具有来自 GridRowParams 的所有属性。
返回:高度(像素为单位),或者使用 “auto” 以使用内容高度。
返回行估计高度的函数。仅在使用了动态行高时有效。一旦测量了行高,此值将被丢弃。
类型:func
function(params: GridRowHeightParams) => number | null
params
具有来自 GridRowHeightParams 的所有属性。
返回:估计的行高值。如果为 null
或 undefined
,则应用基于密度的默认行高。
动态地将 CSS 类应用于行的函数。
类型:func
function(params: GridRowClassNameParams) => string
params
具有来自 GridRowClassNameParams 的所有属性。
返回:要应用于行的 CSS 类。
设置每行行高的函数。
类型:func
function(params: GridRowHeightParams) => GridRowHeightReturnValue
params
具有来自 GridRowHeightParams 的所有属性。
返回:行高值。如果为 null
或 undefined
,则应用默认行高。如果为 “auto”,则根据内容计算行高。
允许指定行之间间距的函数。
类型:func
function(params: GridRowSpacingParams) => GridRowSpacing
params
具有来自 GridRowSpacingParams 的所有属性。
返回:行间距值。
确定树状数据中行的路径。例如,路径为 [“A”,“B”] 的行是路径为 [“A”] 的行的子行。请注意,所有路径都必须至少包含一个元素。
类型:func
function(row: R) => Array
row
我们想要从中获取路径的行。
返回:行的路径。
如果为 true
,则隐藏页脚组件。
类型:bool
默认值:false
如果为 true
,则隐藏页脚中的分页组件。
类型:bool
默认值:false
如果为 true
,则隐藏页脚中的行计数。如果启用了分页,则无效。
类型:bool
默认值:false
如果为 true
,则隐藏页脚中选定的行计数。
类型:bool
默认值:false
如果为 true
,则数据表格在导出到 CSV 或复制到剪贴板时将不使用 valueFormatter
。如果提供了对象,您可以选择忽略 CSV 导出或剪贴板导出的 valueFormatter
。
类型:{ clipboardExport?: bool, csvExport?: bool }
| bool
默认值:false
如果为 select
,则处于不确定状态的组标题复选框(如“全选”复选框)将选择其下的所有行。如果为 deselect
,则它将取消选择其下的所有行。仅在启用 checkboxSelection
时有效。
类型:'deselect'
| 'select'
默认值:"deselect"
在渲染单元格时触发的回调,如果单元格可编辑,则返回 true。
类型:func
确定组在创建后是否应展开。此属性优先于 defaultGroupingExpansionDepth
属性。
类型:func
function(node: GridGroupNode) => boolean
node
要测试的组的节点。
返回:一个布尔值,指示组是否已展开。
确定是否可以选择行。
类型:func
如果为 true
,则在列重新排序操作中,在释放鼠标按钮之前将鼠标指针移到网格外部不会导致列跳回其原始位置。
类型:bool
默认值:false
如果为 true
,则选择模型将保留不存在的选定行。当使用服务器端分页时,并且在更改页面时需要保留行选择时,此功能很有用。
类型:bool
默认值:false
在实现 Logger 接口的组件中传递自定义 logger。
类型:{ debug: func, error: func, info: func, warn: func }
默认值:console
允许传递日志记录级别或 false 以关闭日志记录。
类型:'debug'
| 'error'
| 'info'
| 'warn'
| false
默认值:"error" (开发模式下为 "warn")
单击任何单元格时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有来自 GridCellParams 的所有属性。event
事件对象。details
此回调的附加详细信息。
当双击事件来自单元格元素时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有来自 GridCellParams 的所有属性。event
事件对象。details
此回调的附加详细信息。
当单元格进入编辑模式时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent) => void
params
具有来自 GridCellParams 的所有属性。event
导致调用此属性的事件。
当单元格变为查看模式时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent) => void
params
具有来自 GridCellParams 的所有属性。event
导致调用此属性的事件。
当单元格元素发出 keydown 事件时触发的回调。
类型:func
function(params: GridCellParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有来自 GridCellParams 的所有属性。event
事件对象。details
此回调的附加详细信息。
当 cellModesModel
属性更改时触发的回调。
类型:func
function(cellModesModel: GridCellModesModel, details: GridCallbackDetails) => void
cellModesModel
对象,包含哪些单元格处于“编辑”模式。details
此回调的附加详细信息。
当列标题元素发出 click 事件时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当列标题元素发出 contextmenu 事件时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent) => void
params
包含 GridColumnHeaderParams 中的所有属性。event
事件对象。
当列标题元素发出 double click 事件时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标进入列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标离开列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标移出列标题元素时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当鼠标悬停在列标题元素上时触发的回调。
类型:func
function(params: GridColumnHeaderParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnHeaderParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当列被重新排序时触发的回调。
类型:func
function(params: GridColumnOrderChangeParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridColumnOrderChangeParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当列正在被调整大小时触发的回调。
类型:func
function(params: GridColumnResizeParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnResizeParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当列可见性模型更改时触发的回调。
类型:func
function(model: GridColumnVisibilityModel, details: GridCallbackDetails) => void
model
新的模型。details
此回调的附加详细信息。
当列的宽度更改时触发的回调。
类型:func
function(params: GridColumnResizeParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 GridColumnResizeParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当行的详细信息面板打开或关闭时触发的回调。
类型:func
function(ids: Array, details: GridCallbackDetails) => void
ids
详细信息面板已打开的行的 ID。details
此回调的附加详细信息。
当 rowCount 被设置且下一批虚拟化行被渲染时触发的回调。
类型:func
function(params: GridFetchRowsParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridFetchRowsParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
在应用过滤器之前,当过滤器模型更改时触发的回调。
类型:func
function(model: GridFilterModel, details: GridCallbackDetails) => void
model
包含 GridFilterModel 中的所有属性。details
此回调的附加详细信息。
当菜单关闭时触发的回调。
类型:func
function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridMenuParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当菜单打开时触发的回调。
类型:func
function(params: GridMenuParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridMenuParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当分页元数据已更改时触发的回调。
类型:func
function(paginationMeta: GridPaginationMeta) => void
paginationMeta
更新后的分页元数据。
当分页模型已更改时触发的回调。
类型:func
function(model: GridPaginationModel, details: GridCallbackDetails) => void
model
更新后的分页模型。details
此回调的附加详细信息。
当固定列已更改时触发的回调。
类型:func
function(pinnedColumns: GridPinnedColumnFields, details: GridCallbackDetails) => void
pinnedColumns
已更改的固定列。details
此回调的附加详细信息。
当偏好设置面板关闭时触发的回调。
类型:func
function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridPreferencePanelParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当偏好设置面板打开时触发的回调。
类型:func
function(params: GridPreferencePanelParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridPreferencePanelParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当 processRowUpdate
抛出错误或拒绝时调用的回调。
类型:func
function(error: any) => void
error
抛出的错误。
当 Data Grid 调整大小时触发的回调。
类型:func
function(containerSize: ElementSize, event: MuiEvent<{}>, details: GridCallbackDetails) => void
containerSize
包含 ElementSize 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当行被点击时触发的回调。 如果点击的目标是由内置列添加的交互式元素,则不会调用此回调。
类型:func
function(params: GridRowParams, event: MuiEvent, details: GridCallbackDetails) => void
params
具有来自 GridRowParams 的所有属性。event
事件对象。details
此回调的附加详细信息。
当行容器元素发出 double click 事件时触发的回调。
类型:func
function(params: GridRowParams, event: MuiEvent, details: GridCallbackDetails) => void
params
包含 RowParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当行变为编辑模式时触发的回调。
类型:func
function(params: GridRowParams, event: MuiEvent) => void
params
具有来自 GridRowParams 的所有属性。event
导致调用此属性的事件。
当行变为查看模式时触发的回调。
类型:func
function(params: GridRowParams, event: MuiEvent) => void
params
具有来自 GridRowParams 的所有属性。event
导致调用此属性的事件。
当 rowModesModel
属性更改时触发的回调。
类型:func
function(rowModesModel: GridRowModesModel, details: GridCallbackDetails) => void
rowModesModel
对象,包含哪些行处于“编辑”模式。details
此回调的附加详细信息。
当行正在被重新排序时触发的回调。
类型:func
function(params: GridRowOrderChangeParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridRowOrderChangeParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
当一个或多个行的选择状态更改时触发的回调。
类型:func
function(rowSelectionModel: GridRowSelectionModel, details: GridCallbackDetails) => void
rowSelectionModel
包含所有行 ID 的 GridSelectionModel。details
此回调的附加详细信息。
当滚动到网格视口底部时触发的回调。
类型:func
function(params: GridRowScrollEndParams, event: MuiEvent<{}>, details: GridCallbackDetails) => void
params
包含 GridRowScrollEndParams 中的所有属性。event
事件对象。details
此回调的附加详细信息。
在列被排序之前,当排序模型更改时触发的回调。
类型:func
function(model: GridSortModel, details: GridCallbackDetails) => void
model
包含 GridSortModel 中的所有属性。details
此回调的附加详细信息。
使用组件 UI 动态选择 pageSize。
类型:Array<number
| { label: string, value: number }>
默认值:[25, 50, 100]
分页可以在服务器端或客户端处理。 如果您想在客户端处理分页,请将其设置为 'client'。 如果您想在服务器端处理分页,请将其设置为 'server'。
类型:'client'
| 'server'
默认值:"client"
类型为 GridPaginationModel 的分页模型,它指的是当前的 page
和 pageSize
。
类型:{ page: number, pageSize: number }
在行和单元格编辑中使用新值更新行之前调用的回调。
类型:func
function(newRow: R, oldRow: R, params: { rowId: GridRowId }) => Promise| R
newRow
包含新值的行对象。oldRow
包含旧值的行对象。params
附加参数。
返回值: 用于更新行的最终值。
设置总行数,如果它与 rows
属性值的长度不同。 如果某些行有子行(例如在树状数据中),则此数字表示顶级行的数量。 仅适用于 paginationMode="server"
,当 paginationMode="client"
时将被忽略。
类型:number
在测量行高后,等待重新计算行位置的毫秒延迟。 当使用动态行高时,将其设置为较低的值可能很有用,但在显示大量行时可能会降低性能。
类型:number
默认值:166
当 rowSelectionPropagation.descendants
设置为 true
时。 - 选择父级会自动选择其所有已过滤的后代。 - 取消选择父行会自动取消选择其所有已过滤的后代。
当 rowSelectionPropagation.parents
设置为 true
时 - 选择父级的所有已过滤的后代会自动选择父级。 - 取消选择已选定父级的后代会自动取消选择父级。
仅适用于客户端的树状数据和行分组。
类型:{ descendants?: bool, parents?: bool }
默认值:{ parents: false, descendants: false }
加载行可以在服务器端或客户端处理。 如果您想启用无限加载,请将其设置为 'client'。 如果您想启用懒加载,请将其设置为 'server'。 * @default "client"
类型:'client'
| 'server'
排序可以在服务器端或客户端处理。 如果您想在客户端处理排序,请将其设置为 'client'。 如果您想在服务器端处理排序,请将其设置为 'server'。
类型:'client'
| 'server'
默认值:"client"
如果为正数,Data Grid 将限制来自 apiRef.current.updateRows
和 apiRef.current.setRows
的更新。 如果您的更新频率很高,但不希望在每次单独更新时都执行过滤/排序或渲染等繁重工作,这将非常有用。
类型:number
默认值:0
当启用 unstable_listView
属性时,渲染的列的定义。
类型:{ align?: 'center'
| 'left'
| 'right', cellClassName?: func
| string, display?: 'flex'
| 'text', field: string, renderCell?: func }
ref
被转发到根元素。在网格视口底部渲染的页脚组件。
默认组件: GridFooter
在页脚中渲染的行计数组件
默认组件: GridRowCount
在 Grid Columns 面板内部用于管理列的组件。
类名: .MuiDataGridPro-columnsManagement
默认组件: GridColumnsManagement
这些类名对于使用 CSS 进行样式设置很有用。当触发特定状态时,它们会应用于组件的插槽。
如果 headerAlign="center"
,则应用于聚合时标题的根元素的样式。
规则名称:aggregationColumnHeader--alignCenter
如果 headerAlign="left"
,则应用于聚合时标题的根元素的样式。
规则名称:aggregationColumnHeader--alignLeft
如果 headerAlign="right"
,则应用于聚合时标题的根元素的样式。
规则名称:aggregationColumnHeader--alignRight
如果 showColumnVerticalBorder={true}
,则应用于单元格的样式。
规则名称:cell--withLeftBorder
如果 showColumnVerticalBorder={true}
,则应用于单元格的样式。
规则名称:cell--withRightBorder
当 headerAlign="center"
时,应用于列标题的样式。
规则名称:columnHeader--alignCenter
当 headerAlign="left"
时,应用于列标题的样式。
规则名称:columnHeader--alignLeft
当 headerAlign="right"
时,应用于列标题的样式。
规则名称:columnHeader--alignRight
如果 showColumnVerticalBorder={true}
,则应用于列标题的样式。
规则名称:columnHeader--withRightBorder
应用于列标题的标题(不包括按钮)的样式。
规则名称:columnHeaderTitleContainerContent
如果侧面是 "right",则应用于列标题分隔符的样式。
规则名称:columnSeparator--sideRight
应用于列管理页脚元素的样式。
规则名称:columnsManagementFooter
如果详细信息面板切换单元格元素已展开,则应用于该元素的样式。
规则名称:detailPanelToggleCell--expanded
应用于过滤器表单组件的链接运算符输入框的样式。
规则名称:filterFormLogicOperatorInput
应用于页脚行内单元格的根元素的样式。
规则名称:footerCell
应用于页脚容器元素的样式。
规则名称:footerContainer
应用于菜单元素的样式。
规则名称:menu
应用于菜单图标元素的样式。
规则名称:menuIcon
应用于菜单图标按钮元素的样式。
规则名称:menuIconButton
应用于菜单列表元素的样式。
规则名称:menuList
如果菜单是打开的,则应用于菜单图标元素的样式。
规则名称:menuOpen
应用于面板页脚元素的样式。
规则名称:panelFooter
如果密度为 "comfortable",则应用于根元素的样式。
规则名称:root--densityComfortable
当虚拟化内容的高度大于虚拟化容器时,应用于虚拟化内容的样式。
规则名称:virtualScrollerContent--overflowed
您可以使用以下自定义选项之一来覆盖组件的样式
- 使用全局类名。
- 在自定义主题中使用规则名称作为组件的
styleOverrides
属性的一部分。
源代码
如果您在此页面中没有找到所需的信息,请考虑查看组件的实现以获取更多详细信息。