跳到内容

GridApiAPI

GridApi 接口的扩展文档,其中包含有关模块属性和可用 API 的详细信息。

演示

导入

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


完整的表格 API。

属性

将字段添加到行分组模型。

类型:(groupingCriteriaField: string, groupingIndex?: number) => void


将当前排序模型应用于行。

类型:() => void


根据单元格内容和可用空间自动调整表格列的大小。

类型:(options?: GridAutosizeOptions) => Promise<void>


删除一个 GridFilterItem

类型:(item: GridFilterItem) => void


下载并导出表格数据的 CSV 文件。

类型:(options?: GridCsvExportOptions) => void


下载并导出表格数据的 Excel 文件。

类型:(options?: GridExcelExportOptions) => Promise<void>


打印表格数据。

类型:(options?: GridPrintExportOptions) => void


生成一个可序列化的对象,其中包含 DataGrid 状态的可导出部分。
这些值随后可以传递给 initialState 属性,或使用 restoreState 方法注入。

类型:(params?: GridExportStateParams) => InitialState


强制表格重新渲染。它通常在状态更新后使用。

类型:() => void


返回一个 GridColDef 数组,其中包含所有列定义。

类型:() => GridStateColDef[]


返回列组查找表。

类型:() => GridColumnGroupLookup


获取行 ID 列表。

类型:() => GridRowId[]


获取在事件中作为参数传递的 GridCellParams 对象。

类型:(id: GridRowId, field: string) => HTMLDivElement | null


获取单元格的模式。

类型:(id: GridRowId, field: string) => GridCellMode


获取在事件中作为参数传递的 GridCellParams 对象。

类型:<R extends GridValidRowModel = any, V = unknown, F = V, N extends GridTreeNode = GridTreeNode>(id: GridRowId, field: string) => GridCellParams<R, V, F, N>


返回一个包含单元格选择状态的对象。
该对象的键对应于行 ID。
每个键的值也是一个对象,该对象将列字段作为键,并将布尔值作为其选择状态。

类型:() => GridCellSelectionModel


获取给定 idfield 处单元格的值。

类型:<V extends any = any>(id: GridRowId, field: string) => V


返回给定 fieldGridColDef

类型:(field: string) => GridStateColDef


返回通向请求列的组的 ID。
数组按深度递增排序(最后一个元素是列的直接父级)。

类型:(field: string) => GridColumnGroup['groupId'][]


获取给定 field 的列标题的底层 DOM 元素。

类型:(field: string) => HTMLDivElement | null


获取在事件中作为参数传递的 GridColumnHeaderParams 对象。

类型:(field: string) => GridColumnHeaderParams


返回列的索引位置。默认情况下,仅考虑可见列。
传递 falseuseVisibleColumns 以考虑所有列。

类型:(field: string, useVisibleColumns?: boolean) => number


获取列相对于可滚动到达的列的索引。

类型:(field: string) => number


返回列相对于表格内边框的左侧位置。

类型:(field: string) => number


以 CSV 字符串形式返回表格数据。
此方法在内部由 exportDataAsCsv 使用。

类型:(options?: GridCsvExportOptions) => string


以 exceljs 工作簿形式返回表格数据。
此方法在内部由 exportDataAsExcel 使用。

类型:(options?: GridExcelExportOptions) => Promise<Excel.Workbook> | null


返回详细信息面板已打开的行。

类型:() => GridRowId[]


返回给定筛选模型的筛选状态,而无需将其应用于数据表格。

类型:(filterModel: GridFilterModel) => GridStateCommunity['filter']


返回 key 的翻译。

类型:<T extends GridTranslationKeys>(key: T) => GridLocaleText[T]


返回哪些列被固定。

类型:() => GridPinnedColumnFields


返回应用行选择传播后的修改后的选择模型。

当使用 setRowSelectionModel 设置选择模型时,使用此选项可实现正确的 rowSelectionPropagation 行为。

类型:(inputSelectionModel: GridRowSelectionModel) => GridRowSelectionModel


返回表格的尺寸

类型:() => GridDimensions


获取具有给定 ID 的行数据。

类型:<R extends GridValidRowModel = any>(id: GridRowId) => R | null


获取给定 id 处行的底层 DOM 元素。

类型:(id: GridRowId) => HTMLDivElement | null


获取分组条件的行。
仅包含提供给表格的行,不包含表格自动生成的行。

类型:(params: GridRowGroupChildrenGetterParams) => GridRowId[]


获取给定行数据的行 ID。

类型:<R extends GridValidRowModel = any>(row: R) => GridRowId


获取特定索引处行的 GridRowId
索引基于已排序但未筛选的行列表。

类型:(index: number) => GridRowId


获取行相对于可滚动到达的行的索引。

类型:(id: GridRowId) => number


获取行的模式。

类型:(id: GridRowId) => GridRowMode


以 Map<GridRowId, GridRowModel> 形式获取完整行集。

类型:() => Map<GridRowId, GridRowModel>


从内部树结构获取行节点。

类型:<N extends GridTreeNode>(id: GridRowId) => N | null


获取在事件中作为参数传递的 GridRowParams 对象。

类型:(id: GridRowId) => GridRowParams


获取表格中的总行数。

类型:() => number


返回通过编辑单元格设置值的行。
在行编辑中,field 将被忽略,并且将考虑所有字段。

类型:(id: GridRowId, field: string) => GridRowModel


返回当前滚动位置。

类型:() => GridScrollParams


返回一个仅包含所选单元格的数组。
每个项目都是一个对象,其中包含单元格的 ID 和字段。

类型:() => GridCellCoordinates[]


返回所选行的数组。

类型:() => Map<GridRowId, GridRowModel>


返回根据活动排序模型排序的所有行 ID。

类型:() => GridRowId[]


返回根据活动排序模型排序的所有行。

类型:() => GridRowModel[]


返回当前应用于表格的排序模型。

类型:() => GridSortModel


返回当前可见列。

类型:() => GridStateColDef[]


隐藏已打开的列菜单。

类型:() => void


隐藏筛选面板。

类型:() => void


隐藏标题筛选器菜单。

类型:() => void


隐藏首选项面板。

类型:() => void


返回 ignoreDiacritics 属性的值。

类型:DataGridProcessedProps['ignoreDiacritics']


控制单元格是否可编辑。

类型:(params: GridCellParams) => boolean


确定单元格是否被选中。

类型:(id: GridRowId, field: GridColDef['field']) => boolean


返回列固定到哪一侧。

类型:(field: string) => GridPinnedColumnPosition | false


确定行是否可被选中。

类型:(id: GridRowId) => boolean


确定行是否被选中。

类型:(id: GridRowId) => boolean


将列固定到表格的左侧或右侧。

类型:(field: string, side: GridPinnedColumnPosition) => void


发出一个事件。

类型:GridEventPublisher


从行分组模型中移除字段。

类型:(groupingCriteriaField: string) => void


强制重新计算所有行的高度。

类型:() => void


触发组件的大小调整和宽度和高度的重新计算。

类型:() => void


将给定值注入 DataGrid 的状态。

类型:(stateToRestore: InitialState) => void


触发视口滚动到给定的位置(以像素为单位)。

类型:(params: Partial<GridScrollParams>) => void


触发视口滚动到由 params 给出的索引处的单元格。
如果表格必须滚动才能到达目标,则返回 true

类型:(params: Partial<GridCellIndexCoordinates>) => boolean


选择 startend 坐标给定的范围内的所有单元格。

类型:(start: GridCellCoordinates, end: GridCellCoordinates, keepOtherSelected?: boolean) => void


更改行的选择状态。

类型:(id: GridRowId, isSelected?: boolean, resetSelection?: boolean) => void


更改某个范围内所有可选择行的选择状态。

类型:(range: { startId: GridRowId; endId: GridRowId }, isSelected?: boolean, resetSelection?: boolean) => void


更改多行的选择状态。

类型:(ids: GridRowId[], isSelected?: boolean, resetSelection?: boolean) => void


将聚合模型设置为 model 给定的模型。

类型:(model: GridAggregationModel) => void


将焦点设置到给定 idfield 处的单元格。

类型:(id: GridRowId, field: string) => void


根据传递给 newModel 参数的值更新单元格选择模型。
任何已选定的单元格都将被取消选择。

类型:(newModel: GridCellSelectionModel) => void


将焦点设置到给定 field 处的列标题筛选器。

类型:(field: string, event?: MuiBaseEvent) => void


将焦点设置到给定 field 处的列标题。

类型:(field: string, event?: MuiBaseEvent) => void


将列从其原始位置移动到 targetIndexPosition 给定的位置。

类型:(field: string, targetIndexPosition: number) => void


更改由 field 引用的列的可见性。

类型:(field: string, isVisible: boolean) => void


将列可见性模型设置为 model 给定的模型。

类型:(model: GridColumnVisibilityModel) => void


更新列的宽度。

类型:(field: string, width: number) => void


设置网格的密度。

类型:(density: GridDensity) => void


设置编辑单元格的值。
通常在编辑单元格组件内部使用。

类型:(params: GridEditCellValueParams, event?: MuiBaseEvent) => Promise<boolean> | void


更改要展开详细信息面板的行。

类型:(ids: GridRowId[]) => void


更改用于连接过滤器的 GridLogicOperator。

类型:(operator: GridLogicOperator) => void


将过滤器模型设置为由 model 给定的模型。

类型:(model: GridFilterModel, reason?: GridControlledStateReasonLookup['filter']) => void


设置内部加载状态。

类型:(loading: boolean) => void


将显示的页码设置为由 page 给定的值。

类型:(page: number) => void


将显示的行数设置为由 pageSize 给定的值。

类型:(pageSize: number) => void


paginationMeta 设置为新值。

类型:(paginationMeta: GridPaginationMeta) => void


paginationModel 设置为新值。

类型:(model: GridPaginationModel) => void


更改固定的列。

类型:(pinnedColumns: GridPinnedColumnFields) => void


将快速过滤器值设置为由 values 给定的值

类型:(values: any[]) => void


展开或折叠行的子项。

类型:(id: GridRowId, isExpanded: boolean) => void


rowCount 设置为新值。

类型:(rowCount: number) => void


设置分组条件的分组索引。

类型:(groupingCriteriaField: string, groupingIndex: number) => void


设置用作分组条件的列。

类型:(model: GridRowGroupingModel) => void


将行从其原始位置移动到由 targetIndex 给定的位置。

类型:(rowId: GridRowId, targetIndex: number) => void


设置一组新的行。

类型:(rows: GridRowModel[]) => void


设置新的行选择模型。

⚠️ 注意:setRowSelectionModel 不会自动应用选择传播。
传递由 API 方法 getPropagatedRowSelectionModel 返回的模型,以应用选择传播。

类型:(rowSelectionModel: GridRowSelectionModel) => void


更新排序模型并触发行的排序。

类型:(model: GridSortModel) => void


field 列下显示列菜单。

类型:(field: string) => void


显示过滤器面板。如果给定 targetColumnField,则还会为此字段添加过滤器。

类型:(targetColumnField?: string, panelId?: string, labelId?: string) => void


为给定字段打开表头过滤器菜单。

类型:(field: GridColDef['field']) => void


显示偏好设置面板。newValue 参数控制面板的内容。

类型:(newValue: GridPreferencePanelsValue, panelId?: string, labelId?: string) => void


对列进行排序。

类型:(field: GridColDef['field'], direction?: GridSortDirection, allowMultipleSorting?: boolean) => void


将与给定行 id 和字段对应的单元格置于编辑模式。

类型:(params: GridStartCellEditModeParams) => void


将与给定行 id 和字段对应的单元格置于编辑模式。

类型:(field: GridColDef['field']) => void


将与给定 id 对应的行置于编辑模式。

类型:(params: GridStartRowEditModeParams) => void


包含网格完整状态的属性。

类型:State


将与给定行 id 和字段对应的单元格置于查看模式,并使用存储的新值更新原始行。
如果 params.ignoreModificationstrue,则会丢弃所做的修改。

类型:(params: GridStopCellEditModeParams) => void


停止当前字段的编辑模式。

类型:() => void


将与给定 id 对应的行置于查看模式,并使用存储的新值更新原始行。
如果 params.ignoreModificationstrue,则会丢弃所做的修改。

类型:(params: GridStopRowEditModeParams) => void


为事件注册处理程序。

类型:<E extends GridEvents>(event: E, handler: GridEventListener<E>, options?: EventListenerOptions) => () => void


切换 field 列下的列菜单。

类型:(field: string) => void


展开或折叠行的详细信息面板。

类型:(id: GridRowId) => void


取消固定列。

类型:(field: string) => void


数据源 API。

类型:GridDataSourceApiBase


用新行替换一组行。

类型:(firstRowToReplace: number, newRows: GridRowModel[]) => void


启用/禁用列虚拟化。

类型:(enabled: boolean) => void


更改固定的行。

类型:(pinnedRows?: GridPinnedRowsProp) => void


启用/禁用虚拟化。

类型:(enabled: boolean) => void


同时更新多个列的定义。

类型:(cols: GridColDef[]) => void


允许更新、插入和删除行。

类型:(updates: GridRowModelUpdate[]) => void


更新或插入一个 GridFilterItem

类型:(item: GridFilterItem) => void


更新或插入多个 GridFilterItem

类型:(items: GridFilterItem[]) => void