Lzh on GitHub

可固定性 (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

返回是否有任何列被固定。可以选择指定仅检查处于 leftright 位置的固定列。

注意:不考虑列的可见性。

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>[]

返回行中所有居中固定(未固定)的叶子单元格。