DataGridView.AutoResizeRowHeadersWidth Method (Int32, DataGridViewRowHeadersWidthSizeMode)


Adjusts the width of the row headers based on changes to the contents of the header in the specified row and using the specified size mode.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public void AutoResizeRowHeadersWidth(
	int rowIndex,
	DataGridViewRowHeadersWidthSizeMode rowHeadersWidthSizeMode


Type: System.Int32

The index of the row header with the changed content.

Type: System.Windows.Forms.DataGridViewRowHeadersWidthSizeMode

One of the DataGridViewRowHeadersWidthSizeMode values.

Exception Condition

rowIndex is not in the valid range of 0 to the number of rows minus 1.


rowHeadersWidthSizeMode has the value EnableResizing or DisableResizing


rowHeadersWidthSizeMode is not a valid DataGridViewRowHeadersWidthSizeMode value.

This method is useful if you want to control when the row headers resize if only the contents of the header in the specified row have changed as a result of user edits or changes to a bound data source. The width of the row headers is adjusted only once per method call if the content change requires it; if the contents of the row headers later change, the row headers will not automatically adjust. To set the row headers to automatically resize when their contents change, use the RowHeadersWidthSizeMode property.

This method lets you specify a sizing mode that calculates the new width based on values in a limited set of headers, 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 illustrates how to resize the row header widths based on changes to the contents of the first row header. This code example is part of a larger example provided in How to: Programmatically Resize Cells to Fit Content in the Windows Forms DataGridView Control.

private void SizeFirstRowHeaderToAllHeaders(Object sender, EventArgs e)
        0, DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders);

.NET Framework
Available since 2.0
Return to top