Column Pinning APIs
可固定性 (Can-Pin)
一列是否可以被 固定,由以下条件决定:
options.enablePinning未设置为false。options.enableColumnPinning未设置为false。columnDefinition.enablePinning未设置为false。
状态 (State)
固定状态以以下形式存储在表格中:
export type ColumnPinningPosition = false | 'left' | 'right'
export type ColumnPinningState = {
left?: string[]
right?: string[]
}
export type ColumnPinningTableState = {
columnPinning: ColumnPinningState
}
表格选项 (Table Options)
enableColumnPinning
enableColumnPinning?: boolean
启用/禁用表格中所有列的列固定功能。
onColumnPinningChange
onColumnPinningChange?: OnChangeFn<ColumnPinningState>
如果提供,当 state.columnPinning 改变时,此函数将使用 updaterFn 调用。这会覆盖默认的内部状态管理,因此你还需要从你自己的管理状态中提供 state.columnPinning。
列定义选项 (Column Def Options)
enablePinning
enablePinning?: boolean
启用/禁用该列的固定功能。
表格 API (Table API)
setColumnPinning
setColumnPinning: (updater: Updater<ColumnPinningState>) => void
设置或更新 state.columnPinning 状态。
resetColumnPinning`
resetColumnPinning: (defaultState?: boolean) => void
将 columnPinning 状态重置为 initialState.columnPinning,或者可以传递 true 来强制重置为默认的空白状态 { left: [], right: [], }。
getIsSomeColumnsPinned
getIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean
返回是否有任何列被固定。可以选择指定仅检查处于 left 或 right 位置的固定列。
注意:不考虑列的可见性。
getLeftHeaderGroups
getLeftHeaderGroups: () => HeaderGroup<TData>[]
返回表格的左侧固定标题组。
getCenterHeaderGroups
getCenterHeaderGroups: () => HeaderGroup<TData>[]
返回表格的未固定/居中标题组。
getRightHeaderGroups
getRightHeaderGroups: () => HeaderGroup<TData>[]
返回表格的右侧固定标题组。
getLeftFooterGroups
getLeftFooterGroups: () => HeaderGroup<TData>[]
返回表格的左侧固定页脚组。
getCenterFooterGroups
getCenterFooterGroups: () => HeaderGroup<TData>[]
返回表格的未固定/居中页脚组。
getRightFooterGroups
getRightFooterGroups: () => HeaderGroup<TData>[]
返回表格的右侧固定页脚组。
getLeftFlatHeaders`
getLeftFlatHeaders: () => Header<TData>[]
返回表格的左侧固定标题的扁平数组,包括父标题。
getCenterFlatHeaders
getCenterFlatHeaders: () => Header<TData>[]
返回表格的未固定/居中标题的扁平数组,包括父标题。
getRightFlatHeaders
getRightFlatHeaders: () => Header<TData>[]
返回表格的右侧固定标题的扁平数组,包括父标题。
getLeftLeafHeaders`
getLeftLeafHeaders: () => Header<TData>[]
返回表格的叶节点左侧固定标题的扁平数组。
getCenterLeafHeaders
getCenterLeafHeaders: () => Header<TData>[]
返回表格的叶节点未固定/居中标题的扁平数组。
getRightLeafHeaders
getRightLeafHeaders: () => Header<TData>[]
返回表格的叶节点右侧固定标题的扁平数组。
getLeftLeafColumns
getLeftLeafColumns: () => Column<TData>[]
返回所有左侧固定的叶子列。
getRightLeafColumns
getRightLeafColumns: () => Column<TData>[]
返回所有右侧固定的叶子列。
getCenterLeafColumns
getCenterLeafColumns: () => Column<TData>[]
返回所有居中固定(未固定)的叶子列。
列 API (Column API)
getCanPin
getCanPin: () => boolean
返回列是否可以被固定。
getPinnedIndex
getPinnedIndex: () => number
返回列在固定列组中的数字固定索引。
getIsPinned
getIsPinned: () => ColumnPinningPosition
返回列的固定位置('left'、'right' 或 false)。
pin
pin: (position: ColumnPinningPosition) => void
将列固定到 'left' 或 'right',如果传入 false 则取消固定到中心。
行 API (Row API)
getLeftVisibleCells
getLeftVisibleCells: () => Cell<TData>[]
返回行中所有左侧固定的叶子单元格。
getRightVisibleCells
getRightVisibleCells: () => Cell<TData>[]
返回行中所有右侧固定的叶子单元格。
getCenterVisibleCells
getCenterVisibleCells: () => Cell<TData>[]
返回行中所有居中固定(未固定)的叶子单元格。