DataGridView.AutoResizeColumn Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adjusts the width of the specified column to fit the contents of its cells.
Overloads
AutoResizeColumn(Int32) |
Adjusts the width of the specified column to fit the contents of all its cells, including the header cell. |
AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode) |
Adjusts the width of the specified column using the specified size mode. |
AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean) |
Adjusts the width of the specified column using the specified size mode, optionally calculating the width with the expectation that row heights will subsequently be adjusted. |
AutoResizeColumn(Int32)
Adjusts the width of the specified column to fit the contents of all its cells, including the header cell.
public:
void AutoResizeColumn(int columnIndex);
public void AutoResizeColumn (int columnIndex);
member this.AutoResizeColumn : int -> unit
Public Sub AutoResizeColumn (columnIndex As Integer)
Parameters
- columnIndex
- Int32
The index of the column to resize.
Exceptions
columnIndex
is not in the valid range of 0 to the number of columns minus 1.
Examples
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.
void Button8_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
UpdateStars( dataGridView->Rows[ 4 ], L"******************" );
}
int ratingColumn;
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 );
}
// 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);
}
' 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
Remarks
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.
For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.
See also
Applies to
AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)
Adjusts the width of the specified column using the specified size mode.
public:
void AutoResizeColumn(int columnIndex, System::Windows::Forms::DataGridViewAutoSizeColumnMode autoSizeColumnMode);
public void AutoResizeColumn (int columnIndex, System.Windows.Forms.DataGridViewAutoSizeColumnMode autoSizeColumnMode);
member this.AutoResizeColumn : int * System.Windows.Forms.DataGridViewAutoSizeColumnMode -> unit
Public Sub AutoResizeColumn (columnIndex As Integer, autoSizeColumnMode As DataGridViewAutoSizeColumnMode)
Parameters
- columnIndex
- Int32
The index of the column to resize.
- autoSizeColumnMode
- DataGridViewAutoSizeColumnMode
One of the DataGridViewAutoSizeColumnMode values.
Exceptions
autoSizeColumnMode
has the value ColumnHeader and ColumnHeadersVisible is false
.
columnIndex
is not in the valid range of 0 to the number of columns minus 1.
autoSizeColumnMode
is not a valid DataGridViewAutoSizeColumnMode value.
Examples
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.
void Button8_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
UpdateStars( dataGridView->Rows[ 4 ], L"******************" );
}
int ratingColumn;
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 );
}
// 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);
}
' 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
Remarks
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.
See also
Applies to
AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)
Adjusts the width of the specified column using the specified size mode, optionally calculating the width with the expectation that row heights will subsequently be adjusted.
protected:
void AutoResizeColumn(int columnIndex, System::Windows::Forms::DataGridViewAutoSizeColumnMode autoSizeColumnMode, bool fixedHeight);
protected void AutoResizeColumn (int columnIndex, System.Windows.Forms.DataGridViewAutoSizeColumnMode autoSizeColumnMode, bool fixedHeight);
member this.AutoResizeColumn : int * System.Windows.Forms.DataGridViewAutoSizeColumnMode * bool -> unit
Protected Sub AutoResizeColumn (columnIndex As Integer, autoSizeColumnMode As DataGridViewAutoSizeColumnMode, fixedHeight As Boolean)
Parameters
- columnIndex
- Int32
The index of the column to resize.
- autoSizeColumnMode
- DataGridViewAutoSizeColumnMode
One of the DataGridViewAutoSizeColumnMode values.
- fixedHeight
- Boolean
true
to calculate the new width based on the current row heights; false
to calculate the width with the expectation that the row heights will also be adjusted.
Exceptions
autoSizeColumnMode
has the value ColumnHeader and ColumnHeadersVisible is false
.
columnIndex
is not in the valid range of 0 to the number of columns minus 1.
autoSizeColumnMode
is not a valid DataGridViewAutoSizeColumnMode value.
Remarks
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.
This overload is protected and is designed to enable you to achieve ideal cell height-to-width ratios in a derived DataGridView class. If fixedHeight
is false
, the column width will be calculated with the expectation that you will call the AutoResizeRow or AutoResizeRows method next.
For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.