Column Sizing

If you do not explicitly specify certain columns' width, the DataGrid distributes the available space equally among columns at startup. As a result, cell values may appear truncated. Use the columnMinWidth option to specify a minimum width for all columns and the minWidth for an individual column. Note that all these settings may cause horizontal scrolling if columns cannot fit into the widget's width.

jQuery
JavaScript
$(function() {
    $("#dataGridContainer").dxDataGrid({
        // ...
        columnMinWidth: 100,
        columns: [{
            dataField: "Title",
            width: 200
        }, {
            dataField: "Address",
            minWidth: 150
        }]
    });
});
Angular
HTML
TypeScript
<dx-data-grid ...
    [columnMinWidth]="100">
    <dxi-column dataField="Title" [width]="200"></dxi-column>
    <dxi-column dataField="Address" [minWidth]="150"></dxi-column>
</dx-data-grid>
import { DxDataGridModule } from 'devextreme-angular';
// ...
export class AppComponent {
    // ...
}
@NgModule({
    imports: [
        // ...
        DxDataGridModule
    ],
    // ...
})

Set the columnAutoWidth option to true to make all columns adjust their widths to their content.

jQuery
JavaScript
$(function() {
    $("#dataGridContainer").dxDataGrid({
        // ...
        columnAutoWidth: true
    });
});
Angular
HTML
TypeScript
<dx-data-grid ...
    [columnAutoWidth]="true">
</dx-data-grid>
import { DxDataGridModule } from 'devextreme-angular';
// ...
export class AppComponent {
    // ...
}
@NgModule({
    imports: [
        // ...
        DxDataGridModule
    ],
    // ...
})

The widget allows a user to resize columns in two different modes: by changing the next column's width or the widget's width. To enable this functionality and set the mode, specify the allowColumnResizing and columnResizingMode options, respectively. Note that you can prevent a specific column from being resized by assigning false to its allowResizing option.

jQuery
JavaScript
$(function() {
    $("#dataGridContainer").dxDataGrid({
        // ...
        allowColumnResizing: true,
        columnResizingMode: 'widget', // or 'nextColumn'
        columns: [{
            dataField: "Title",
            allowResizing: false
        }, 
        // ...
        ]
    });
});
Angular
HTML
TypeScript
<dx-data-grid ...
    [allowColumnResizing]="true"
    columnResizingMode="widget"> <!-- or 'nextColumn' -->
    <dxi-column dataField="Title" [allowResizing]="false"></dxi-column>
</dx-data-grid>
import { DxDataGridModule } from 'devextreme-angular';
// ...
export class AppComponent {
    // ...
}
@NgModule({
    imports: [
        // ...
        DxDataGridModule
    ],
    // ...
})

View Demo

See Also