列固定的能力由以下条件决定:
options.enablePinning
不设置为 false
columnDefinition.enablePinning
不设置为 false
列固定状态存储在表格中,具体如下:
export type ColumnPinningPosition = false | 'left' | 'right'
export type ColumnPinningState = { left?: string[] right?: string[]}
export type ColumnPinningTableState = { columnPinning: ColumnPinningState}
表格选项
enablePinning
enablePinning?: boolean
启用/禁用表格的所有列固定功能。
onColumnPinningChange
onColumnPinningChange?: OnChangeFn<ColumnPinningState>
如果提供了此函数,当 state.columnPinning
发生变化时,将使用 updaterFn
调用该函数。这将覆盖默认的内部状态管理,因此您需要在表格外部完全或部分地持久化状态更改。
列定义选项
enablePinning
enablePinning?: boolean
启用/禁用列的固定功能。
表格 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
返回是否有任何列被固定。可选择指定仅检查左侧或右侧位置的固定列。
注意:不考虑列的可见性
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
getCanPin
getCanPin: () => boolean
返回列是否可以固定。
getPinnedIndex
getPinnedIndex: () => number
返回列在固定列组中的数值固定索引。
getIsPinned
getIsPinned: () => ColumnPinningPosition
返回列的固定位置('left'
、'right'
或 false
)。
pin
pin: (position: ColumnPinningPosition) => void
将列固定到 'left'
或 'right'
,或者如果传递 false
,则将列取消固定到中间。
行 API
getLeftVisibleCells
getLeftVisibleCells: () => Cell < TData > []
返回行中所有左侧固定的叶节点单元格。
getRightVisibleCells
getRightVisibleCells: () => Cell < TData > []
返回行中所有右侧固定的叶节点单元格。
getCenterVisibleCells
getCenterVisibleCells: () => Cell < TData > []
返回行中所有中间固定(未固定)的叶节点单元格。