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)

'Declaration
Public Sub AutoResizeColumn ( _
	columnIndex As Integer, _
	autoSizeColumnMode As DataGridViewAutoSizeColumnMode _
)

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 Sub Button8_Click(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Button8.Click

    UpdateStars(dataGridView.Rows(4), "******************")
End Sub

Private ratingColumn As Integer = 3

Private Sub UpdateStars(ByVal row As DataGridViewRow, _
    ByVal stars As String)

    row.Cells(ratingColumn).Value = stars

    ' Resize the column width to account for the new value.
    row.DataGridView.AutoResizeColumn(ratingColumn, _
        DataGridViewAutoSizeColumnMode.DisplayedCells)

End Sub


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Community Additions

ADD
Show:
© 2014 Microsoft