File: column-visibility.md | Updated: 11/15/2025
Search...
+ K
Auto
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples GitHub Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Docs Examples Github Contributors
Maintainers Partners Support Learn StatsBETA Discord Merch Blog GitHub Ethos Brand Guide
Documentation
Framework
React
Version
v8
Search...
+ K
Menu
Getting Started
Core Guides
Feature Guides
Core APIs
Feature APIs
Enterprise
Examples
Framework
React
Version
v8
Menu
Getting Started
Core Guides
Feature Guides
Core APIs
Feature APIs
Enterprise
Examples
On this page
Copy Markdown
Column visibility state is stored on the table using the following shape:
tsx
export type VisibilityState = Record<string, boolean>
export type VisibilityTableState = {
columnVisibility: VisibilityState
}
export type VisibilityState = Record<string, boolean>
export type VisibilityTableState = {
columnVisibility: VisibilityState
}
Column Def Options
------------------
### enableHiding
tsx
enableHiding?: boolean
enableHiding?: boolean
Enables/disables hiding the column
Column API
----------
### getCanHide
tsx
getCanHide: () => boolean
getCanHide: () => boolean
Returns whether the column can be hidden
tsx
getIsVisible: () => boolean
getIsVisible: () => boolean
Returns whether the column is visible
tsx
toggleVisibility: (value?: boolean) => void
toggleVisibility: (value?: boolean) => void
Toggles the column visibility
### getToggleVisibilityHandler
tsx
getToggleVisibilityHandler: () => (event: unknown) => void
getToggleVisibilityHandler: () => (event: unknown) => void
Returns a function that can be used to toggle the column visibility. This function can be used to bind to an event handler to a checkbox.
Table Options
-------------
### onColumnVisibilityChange
tsx
onColumnVisibilityChange?: OnChangeFn<VisibilityState>
onColumnVisibilityChange?: OnChangeFn<VisibilityState>
If provided, this function will be called with an updaterFn when state.columnVisibility changes. This overrides the default internal state management, so you will need to persist the state change either fully or partially outside of the table.
tsx
enableHiding?: boolean
enableHiding?: boolean
Enables/disables hiding of columns.
Table API
---------
### getVisibleFlatColumns
tsx
getVisibleFlatColumns: () => Column<TData>[]
getVisibleFlatColumns: () => Column<TData>[]
Returns a flat array of columns that are visible, including parent columns.
tsx
getVisibleLeafColumns: () => Column<TData>[]
getVisibleLeafColumns: () => Column<TData>[]
Returns a flat array of leaf-node columns that are visible.
tsx
getLeftVisibleLeafColumns: () => Column<TData>[]
getLeftVisibleLeafColumns: () => Column<TData>[]
If column pinning, returns a flat array of leaf-node columns that are visible in the left portion of the table.
### getRightVisibleLeafColumns
tsx
getRightVisibleLeafColumns: () => Column<TData>[]
getRightVisibleLeafColumns: () => Column<TData>[]
If column pinning, returns a flat array of leaf-node columns that are visible in the right portion of the table.
### getCenterVisibleLeafColumns
tsx
getCenterVisibleLeafColumns: () => Column<TData>[]
getCenterVisibleLeafColumns: () => Column<TData>[]
If column pinning, returns a flat array of leaf-node columns that are visible in the unpinned/center portion of the table.
tsx
setColumnVisibility: (updater: Updater<VisibilityState>) => void
setColumnVisibility: (updater: Updater<VisibilityState>) => void
Updates the column visibility state via an updater function or value
tsx
resetColumnVisibility: (defaultState?: boolean) => void
resetColumnVisibility: (defaultState?: boolean) => void
Resets the column visibility state to the initial state. If defaultState is provided, the state will be reset to {}
tsx
toggleAllColumnsVisible: (value?: boolean) => void
toggleAllColumnsVisible: (value?: boolean) => void
Toggles the visibility of all columns
tsx
getIsAllColumnsVisible: () => boolean
getIsAllColumnsVisible: () => boolean
Returns whether all columns are visible
tsx
getIsSomeColumnsVisible: () => boolean
getIsSomeColumnsVisible: () => boolean
Returns whether some columns are visible
### getToggleAllColumnsVisibilityHandler
tsx
getToggleAllColumnsVisibilityHandler: () => ((event: unknown) => void)
getToggleAllColumnsVisibilityHandler: () => ((event: unknown) => void)
Returns a handler for toggling the visibility of all columns, meant to be bound to a input[type=checkbox] element.
Row API
-------
### getVisibleCells
tsx
getVisibleCells: () => Cell<TData>[]
getVisibleCells: () => Cell<TData>[]
Returns an array of cells that account for column visibility for the row.
