Events

The callbacks DataGridComponent fires as a user resizes, reorders, and selects.

Last updated August 9, 2026

Every interaction reports through a callback prop rather than a ref or an event you have to subscribe to. Resizing, reordering, and sorting fire one each; selection fires thirteen, one per row, column, and cell transition plus a whole-selection change to persist from.

Every callback, firing live#

Every DataGridComponent callback

Live example
IdServiceEnvironment NameEnvironment RegionStatusCost
1checkout-apiproductionus-east-1healthy1240.5
2billing-workerproductioneu-west-1degraded860.2
3search-indexstagingus-east-1healthy92.75
4notificationsproductionus-west-2down305.4
5analytics-pipelinestagingeu-west-1healthy145
  1. Interact with the grid above to see its callbacks fire.

Resizing, reordering & sorting#

PropTypeDescription
onColumnResize(event: ColumnResizeEvent) => voidFires continuously with phase "move" while dragging, once with "end" on release — the one to persist. Auto-fit does not call it.
onColumnOrderChange(event: ColumnOrderEvent) => voidFires once when the user drops a column somewhere new. A drop that leaves the order unchanged does not call it.
onColumnSortChange(event: ColumnSortEvent) => voidFires once when the user changes the sort — a toggle, a stack, or a clear back to "none".
onGroupByChange(event: GroupByEvent) => voidFires once when the user adds, removes, or reorders a group-by level.
onGroupExpansionChange(event: GroupExpansionEvent) => voidFires once when the user expands or collapses a group, or every group at once.

Selection#

PropTypeDescription
onRowSelect / onRowsSelect(event) => voidOnce per row newly selected, and once per interaction with every row it selected — a range selects many rows but fires onRowsSelect once.
onRowDeselect / onRowsDeselect(event) => voidThe deselecting counterpart of each, above.
onRowSelectionChange(event: RowSelectionChangeEvent) => voidOnce per change with what it added, removed, and everything selected after.
onColumnSelect / onColumnsSelect / onColumnDeselect / onColumnsDeselect / onColumnSelectionChange(event) => voidThe same five events, for column selection.
onCellSelect / onCellDeselect(event: CellSelectEvent) => voidOnce for the cell selected, once for the cell deselected.
onCellSelectionChange(event: CellSelectionChangeEvent) => voidOnce per change with what was selected and deselected — one interaction can fill both, since moving between cells does so at once.

Every payload's fields are broken down where its feature lives, rather than repeated here: row selection for RowSelectionChangeEvent, column selection for ColumnSelectEvent/ColumnsSelectEvent/ColumnSelectionChangeEvent, cell selection for CellSelectEvent/CellSelectionChangeEvent, and row grouping for GroupByEvent/GroupExpansionEvent.

Edit this page on GitHub