列固定的能力由以下条件决定:
options.enablePinning 不设置为 falsecolumnDefinition.enablePinning 不设置为 false列固定状态存储在表格中,具体如下:
export type ColumnPinningPosition = false | 'left' | 'right'
export type ColumnPinningState = { left?: string[] right?: string[]}
export type ColumnPinningTableState = { columnPinning: ColumnPinningState}表格选项
enablePinningenablePinning?: boolean启用/禁用表格的所有列固定功能。
onColumnPinningChangeonColumnPinningChange?: OnChangeFn<ColumnPinningState>如果提供了此函数,当 state.columnPinning 发生变化时,将使用 updaterFn 调用该函数。这将覆盖默认的内部状态管理,因此您需要在表格外部完全或部分地持久化状态更改。
列定义选项
enablePinningenablePinning?: boolean启用/禁用列的固定功能。
表格 API
setColumnPinningsetColumnPinning: (updater: Updater<ColumnPinningState>) => void设置或更新 state.columnPinning 状态。
resetColumnPinningresetColumnPinning: (defaultState?: boolean) => void将 columnPinning 状态重置为 initialState.columnPinning,或者可以传递 true 强制将其重置为空白状态 { left: [], right: [], }。
getIsSomeColumnsPinnedgetIsSomeColumnsPinned: (position?: ColumnPinningPosition) => boolean返回是否有任何列被固定。可选择指定仅检查左侧或右侧位置的固定列。
注意:不考虑列的可见性
getLeftHeaderGroupsgetLeftHeaderGroups: () => HeaderGroup < TData > []返回表格的左侧固定表头组。
getCenterHeaderGroupsgetCenterHeaderGroups: () => HeaderGroup < TData > []返回表格的未固定/中间表头组。
getRightHeaderGroupsgetRightHeaderGroups: () => HeaderGroup < TData > []返回表格的右侧固定表头组。
getLeftFooterGroupsgetLeftFooterGroups: () => HeaderGroup < TData > []返回表格的左侧固定表尾组。
getCenterFooterGroupsgetCenterFooterGroups: () => HeaderGroup < TData > []返回表格的未固定/中间表尾组。
getRightFooterGroupsgetRightFooterGroups: () => HeaderGroup < TData > []返回表格的右侧固定表尾组。
getLeftFlatHeadersgetLeftFlatHeaders: () => Header < TData > []返回表格的左侧固定表头的扁平数组,包括父表头。
getCenterFlatHeadersgetCenterFlatHeaders: () => Header < TData > []返回表格的未固定/中间表头的扁平数组,包括父表头。
getRightFlatHeadersgetRightFlatHeaders: () => Header < TData > []返回表格的右侧固定表头的扁平数组,包括父表头。
getLeftLeafHeadersgetLeftLeafHeaders: () => Header < TData > []返回表格的左侧固定表头的叶节点扁平数组。
getCenterLeafHeadersgetCenterLeafHeaders: () => Header < TData > []返回表格的未固定/中间表头的叶节点扁平数组。
getRightLeafHeadersgetRightLeafHeaders: () => Header < TData > []返回表格的右侧固定表头的叶节点扁平数组。
getLeftLeafColumnsgetLeftLeafColumns: () => Column < TData > []返回所有左侧固定的叶节点列。
getRightLeafColumnsgetRightLeafColumns: () => Column < TData > []返回所有右侧固定的叶节点列。
getCenterLeafColumnsgetCenterLeafColumns: () => Column < TData > []返回所有中间固定(未固定)的叶节点列。
列 API
getCanPingetCanPin: () => boolean返回列是否可以固定。
getPinnedIndexgetPinnedIndex: () => number返回列在固定列组中的数值固定索引。
getIsPinnedgetIsPinned: () => ColumnPinningPosition返回列的固定位置('left'、'right' 或 false)。
pinpin: (position: ColumnPinningPosition) => void将列固定到 'left' 或 'right',或者如果传递 false,则将列取消固定到中间。
行 API
getLeftVisibleCellsgetLeftVisibleCells: () => Cell < TData > []返回行中所有左侧固定的叶节点单元格。
getRightVisibleCellsgetRightVisibleCells: () => Cell < TData > []返回行中所有右侧固定的叶节点单元格。
getCenterVisibleCellsgetCenterVisibleCells: () => Cell < TData > []返回行中所有中间固定(未固定)的叶节点单元格。