Columns
Configure column definitions, resizing, drag state, and column snapshots.
Columns are configured with ColumnDef[].
Column Definitions
const columns: ColumnDef[] = [ { field: 'id', header: 'ID', width: 80, minWidth: 60, sortable: true }, { field: 'name', header: 'Name', width: 220, resizable: true, reorderable: true }, { field: 'status', header: 'Status', width: 140, filterable: true },];Resize API
grid.columns.resize(1, 260);grid.columns.autoFit(1);grid.columns.autoFitAll();grid.columns.setConstraints(1, { minWidth: 160, maxWidth: 360 });Column State
const state = grid.columns.getState();localStorage.setItem('columns', JSON.stringify(state));
const saved = localStorage.getItem('columns');if (saved) { grid.columns.applyState(JSON.parse(saved), { applyWidth: true, applyOrder: true, applyVisibility: true, });}Events
grid.on('column:resize', ({ column, oldWidth, newWidth }) => { console.log({ column, oldWidth, newWidth });});
grid.on('column:move', ({ column, oldIndex, newIndex }) => { console.log({ column, oldIndex, newIndex });});
grid.on('column:dragStart', ({ columnId, columnIndex }) => { console.log({ columnId, columnIndex });});
grid.on('column:dragEnd', ({ columnId, fromIndex, toIndex }) => { console.log({ columnId, fromIndex, toIndex });}); ℹ Info
Column dragging and resizing are enabled through grid options and the built-in column plugin. Use grid.columns for programmatic operations.