DataGridViewAutoSizeColumnMode DataGridViewAutoSizeColumnMode DataGridViewAutoSizeColumnMode DataGridViewAutoSizeColumnMode Enum


Defines values for specifying how the width of a column is adjusted.

public enum class DataGridViewAutoSizeColumnMode
public enum DataGridViewAutoSizeColumnMode
type DataGridViewAutoSizeColumnMode = 
Public Enum DataGridViewAutoSizeColumnMode


AllCells AllCells AllCells AllCells 6

The column width adjusts to fit the contents of all cells in the column, including the header cell.

AllCellsExceptHeader AllCellsExceptHeader AllCellsExceptHeader AllCellsExceptHeader 4

The column width adjusts to fit the contents of all cells in the column, excluding the header cell.

ColumnHeader ColumnHeader ColumnHeader ColumnHeader 2

The column width adjusts to fit the contents of the column header cell.

DisplayedCells DisplayedCells DisplayedCells DisplayedCells 10

The column width adjusts to fit the contents of all cells in the column that are in rows currently displayed onscreen, including the header cell.

DisplayedCellsExceptHeader DisplayedCellsExceptHeader DisplayedCellsExceptHeader DisplayedCellsExceptHeader 8

The column width adjusts to fit the contents of all cells in the column that are in rows currently displayed onscreen, excluding the header cell.

Fill Fill Fill Fill 16

The column width adjusts so that the widths of all columns exactly fills the display area of the control, requiring horizontal scrolling only to keep column widths above the MinimumWidth property values. Relative column widths are determined by the relative FillWeight property values.

None None None None 1

The column width does not automatically adjust.

NotSet NotSet NotSet NotSet 0

The sizing behavior of the column is inherited from the AutoSizeColumnsMode property.


The following code example illustrates the use of this enumeration to configure a fixed-width column. This example is part of a larger example available in How to: Set the Sizing Modes of the Windows Forms DataGridView Control.

DataGridViewTextBoxColumn idColumn =
    new DataGridViewTextBoxColumn();
idColumn.HeaderText = "ID";
idColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None;
idColumn.Resizable = DataGridViewTriState.False;
idColumn.ReadOnly = true;
idColumn.Width = 20;
Dim idColumn As New DataGridViewTextBoxColumn()
idColumn.HeaderText = "ID"
idColumn.AutoSizeMode = DataGridViewAutoSizeColumnMode.None
idColumn.Resizable = DataGridViewTriState.False
idColumn.ReadOnly = True
idColumn.Width = 20


The DataGridView control can resize its columns to make them fill the available horizontal width of the control or to make them display the full contents of all cells or of specified cells.

With Fill mode, the preferred width of a column is determined by resizing all columns in that mode so that all visible columns in the control exactly fill the horizontal width of the available display area. With other modes, the preferred column width is the minimum width required to display the largest cell value from all cells or a subset of cells in that column, such as the subset of cells that are in currently displayed rows. Using a subset of cells to determine the new width is useful to avoid a performance penalty when working with many rows of data.

Content-based automatic resizing prevents users from adjusting column widths with the mouse. User resizing is enabled in fill mode, however.

This enumeration is used by the AutoSizeMode and InheritedAutoSizeMode properties of columns and the DataGridView.AutoResizeColumn method.

For more information about sizing modes, see Sizing Options in the Windows Forms DataGridView Control. For more information about column fill mode in particular, see Column Fill Mode in the Windows Forms DataGridView Control.

Applies to

See also