Export (0) Print
Expand All

DataGridView.AutoResizeColumn Method (Int32, DataGridViewAutoSizeColumnMode)

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
)

Parameters

columnIndex
Type: System.Int32

The index of the column to resize.

autoSizeColumnMode
Type: System.Windows.Forms.DataGridViewAutoSizeColumnMode

One of the DataGridViewAutoSizeColumnMode values.

ExceptionCondition
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);
}

.NET Framework

Supported in: 4.6, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

Show:
© 2014 Microsoft