Core APIs

Header APIs

These are core options and API properties for all headers. More options and API properties may be available for other table features.

Header API

All header objects have the following properties:

tsx
id: string
id: string

The unique identifier for the header.

tsx
index: number
index: number

The index for the header within the header group.

tsx
depth: number
depth: number

The depth of the header, zero-indexed based.

tsx
column: Column<TData>
column: Column<TData>

The header's associated Column object

tsx
headerGroup: HeaderGroup<TData>
headerGroup: HeaderGroup<TData>

The header's associated HeaderGroup object

tsx
type subHeaders = Header<TData>[]
type subHeaders = Header<TData>[]

The header's hierarchical sub/child headers. Will be empty if the header's associated column is a leaf-column.

tsx
colSpan: number
colSpan: number

The col-span for the header.

tsx
rowSpan: number
rowSpan: number

The row-span for the header.

tsx
type getLeafHeaders = () => Header<TData>[]
type getLeafHeaders = () => Header<TData>[]

Returns the leaf headers hierarchically nested under this header.

tsx
isPlaceholder: boolean
isPlaceholder: boolean

A boolean denoting if the header is a placeholder header

tsx
placeholderId?: string
placeholderId?: string

If the header is a placeholder header, this will be a unique header ID that does not conflict with any other headers across the table

tsx
getContext: () => {
  table: Table<TData>
  header: Header<TData, TValue>
  column: Column<TData, TValue>
}
getContext: () => {
  table: Table<TData>
  header: Header<TData, TValue>
  column: Column<TData, TValue>
}

Returns the rendering context (or props) for column-based components like headers, footers and filters. Use these props with your framework's utility to render these using the template of your choice:

tsx
flexRender(header.column.columnDef.header, header.getContext())
flexRender(header.column.columnDef.header, header.getContext())

Table API

tsx
type getHeaderGroups = () => HeaderGroup<TData>[]
type getHeaderGroups = () => HeaderGroup<TData>[]

Returns all header groups for the table.

tsx
type getLeftHeaderGroups = () => HeaderGroup<TData>[]
type getLeftHeaderGroups = () => HeaderGroup<TData>[]

If pinning, returns the header groups for the left pinned columns.

tsx
type getCenterHeaderGroups = () => HeaderGroup<TData>[]
type getCenterHeaderGroups = () => HeaderGroup<TData>[]

If pinning, returns the header groups for columns that are not pinned.

tsx
type getRightHeaderGroups = () => HeaderGroup<TData>[]
type getRightHeaderGroups = () => HeaderGroup<TData>[]

If pinning, returns the header groups for the right pinned columns.

tsx
type getFooterGroups = () => HeaderGroup<TData>[]
type getFooterGroups = () => HeaderGroup<TData>[]

Returns all footer groups for the table.

tsx
type getLeftFooterGroups = () => HeaderGroup<TData>[]
type getLeftFooterGroups = () => HeaderGroup<TData>[]

If pinning, returns the footer groups for the left pinned columns.

tsx
type getCenterFooterGroups = () => HeaderGroup<TData>[]
type getCenterFooterGroups = () => HeaderGroup<TData>[]

If pinning, returns the footer groups for columns that are not pinned.

tsx
type getRightFooterGroups = () => HeaderGroup<TData>[]
type getRightFooterGroups = () => HeaderGroup<TData>[]

If pinning, returns the footer groups for the right pinned columns.

tsx
type getFlatHeaders = () => Header<TData, unknown>[]
type getFlatHeaders = () => Header<TData, unknown>[]

Returns headers for all columns in the table, including parent headers.

tsx
type getLeftFlatHeaders = () => Header<TData, unknown>[]
type getLeftFlatHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all left pinned columns in the table, including parent headers.

tsx
type getCenterFlatHeaders = () => Header<TData, unknown>[]
type getCenterFlatHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all columns that are not pinned, including parent headers.

tsx
type getRightFlatHeaders = () => Header<TData, unknown>[]
type getRightFlatHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all right pinned columns in the table, including parent headers.

tsx
type getLeafHeaders = () => Header<TData, unknown>[]
type getLeafHeaders = () => Header<TData, unknown>[]

Returns headers for all leaf columns in the table, (not including parent headers).

tsx
type getLeftLeafHeaders = () => Header<TData, unknown>[]
type getLeftLeafHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all left pinned leaf columns in the table, (not including parent headers).

tsx
type getCenterLeafHeaders = () => Header<TData, unknown>[]
type getCenterLeafHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all columns that are not pinned, (not including parent headers).

tsx
type getRightLeafHeaders = () => Header<TData, unknown>[]
type getRightLeafHeaders = () => Header<TData, unknown>[]

If pinning, returns headers for all right pinned leaf columns in the table, (not including parent headers).