DataGridView.AutoResizeColumn Method (Int32, DataGridViewAutoSizeColumnMode)

Note: This method is new in the .NET Framework version 2.0.

Adjusts the width of the specified column using the specified size mode.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

public void AutoResizeColumn (
	int columnIndex,
	DataGridViewAutoSizeColumnMode autoSizeColumnMode
)
public void AutoResizeColumn (
	int columnIndex, 
	DataGridViewAutoSizeColumnMode autoSizeColumnMode
)
public function AutoResizeColumn (
	columnIndex : int, 
	autoSizeColumnMode : DataGridViewAutoSizeColumnMode
)

Parameters

columnIndex

The index of the column to resize.

autoSizeColumnMode

One of the DataGridViewAutoSizeColumnMode values.

Exception typeCondition

InvalidOperationException

autoSizeColumnMode has the value ColumnHeader and ColumnHeadersVisible is false.

ArgumentException

autoSizeColumnMode has the value NotSet, None, or Fill.

ArgumentOutOfRangeException

columnIndex is not in the valid range of 0 to the number of columns minus 1.

InvalidEnumArgumentException

autoSizeColumnMode is not a valid DataGridViewAutoSizeColumnMode value.

This method is useful if you want to control when a column resizes. The column width is adjusted only once per method call; if the contents of the column later change, the column will not automatically adjust. To resize all columns, use the AutoResizeColumns method. To set the column to automatically resize whenever its contents change, use the AutoSizeColumnsMode property or the column AutoSizeMode property.

This overload lets you specify a sizing mode that calculates the new width based on values in a limited set of cells, such as those in displayed rows only. This improves performance when the control contains a large number of rows.

For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

The following code example uses this method to make the column width large enough to accommodate a new cell value. This example is part of a larger example available in How to: Manipulate Rows in the Windows Forms DataGridView Control.

// Give cheescake excellent rating.
private void Button8_Click(object sender,
    System.EventArgs e)
{
    UpdateStars(dataGridView.Rows[4], "******************");
}

int ratingColumn = 3;

private void UpdateStars(DataGridViewRow row, string stars)
{

    row.Cells[ratingColumn].Value = stars;

    // Resize the column width to account for the new value.
    row.DataGridView.AutoResizeColumn(ratingColumn, 
        DataGridViewAutoSizeColumnMode.DisplayedCells);
}

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show: