# ColumnResizer The ColumnResizer extension can be used to add column resizing functionality (accessible via mouse or touch drag). ```js require([ 'dojo/_base/declare', 'dgrid/OnDemandGrid', 'dgrid/extensions/ColumnResizer' ], function (declare, OnDemandGrid, ColumnResizer) { var grid = new (declare([ OnDemandGrid, ColumnResizer ]))({ columns: { col1: { label: 'Column1', resizable: false }, col2: 'Column 2', col3: 'Column 3' } }, 'grid'); // ... }); ``` ## APIs The ColumnResizer extension supports the following additional instance properties. ### Property Summary Property | Description -------- | ----------- `adjustLastColumn` | If `true` (the default), adjusts the last column's width to "auto" at times where the browser would otherwise stretch all columns to span the grid. `minWidth` | Minimum width of each column in the grid, in px; default is `40`. ### Method Summary Method | Description ------ | ----------- `resizeColumnWidth(columnId, width)` | Resizes the width of the column with id `columnId` to be `width` pixels wide. ## Additional Column Definition Properties The ColumnResizer extension supports the following additional column definition properties. Property | Description -------- | ----------- `resizable` | If `false`, prevents the given column from being resized; default is `true`. `width` | Optional number specifying an initial width (in pixels) for the column. This is offered as a convenience for dynamically restoring persisted column widths; in most cases, column styling should still be done separately via CSS. ## Events The ColumnResizer extension will emit a`dgrid-columnresize` event when a column is resized, which includes the following properties: * `grid`: The Grid instance in which this event occurred * `columnId`: The ID of the resized column, which can be used to retrieve the column from `grid.columns` * `width`: The new width of the column * `parentType`: If the event was triggered by user interaction, this property indicates what type of event originally triggered the event The `dgrid-columnresize` event is cancelable; if canceled, the prior size of the column will be preserved.