DataGridView.AutoResizeColumn Метод

Определение

Корректирует ширину указанного столбца по содержимому его ячеек.Adjusts the width of the specified column to fit the contents of its cells.

Перегрузки

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)

Параметры

columnIndex
Int32

Индекс столбца, размер которого будет изменен.The index of the column to resize.

Исключения

columnIndex не находится в допустимом диапазоне от 0 до количества столбцов минус 1.columnIndex is not in the valid range of 0 to the number of columns minus 1.

Примеры

В следующем примере кода этот метод используется для того, чтобы ширина столбца была достаточно большой для размещения нового значения ячейки.The following code example uses this method to make the column width large enough to accommodate a new cell value. Этот пример является частью большого примера, доступного в [How: Обработка строк в элементе управления Windows Forms DataGridView @ no__t-0.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

Комментарии

Этот метод полезен, если требуется управлять изменением размера столбца.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. Чтобы изменить размер всех столбцов, используйте метод AutoResizeColumns.To resize all columns, use the AutoResizeColumns method. Чтобы задать автоматическое изменение размера столбца при изменении его содержимого, используйте свойство AutoSizeColumnsMode или свойство Column AutoSizeMode.To set the column to automatically resize whenever its contents change, use the AutoSizeColumnsMode property or the column AutoSizeMode property.

Дополнительные сведения о программном изменении размера см. в разделе Параметры изменения размера в элементе управления Windows Forms DataGridView.For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

Дополнительно

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)

Параметры

columnIndex
Int32

Индекс столбца, размер которого будет изменен.The index of the column to resize.

autoSizeColumnMode
DataGridViewAutoSizeColumnMode

Одно из значений перечисления DataGridViewAutoSizeColumnMode.One of the DataGridViewAutoSizeColumnMode values.

Исключения

autoSizeColumnMode имеет значение ColumnHeader, а ColumnHeadersVisible равен false.autoSizeColumnMode has the value ColumnHeader and ColumnHeadersVisible is false.

autoSizeColumnMode имеет значение NotSet, None или Fill.autoSizeColumnMode has the value NotSet, None, or Fill.

columnIndex не находится в допустимом диапазоне от 0 до количества столбцов минус 1.columnIndex is not in the valid range of 0 to the number of columns minus 1.

autoSizeColumnMode не является допустимым значением DataGridViewAutoSizeColumnMode.autoSizeColumnMode is not a valid DataGridViewAutoSizeColumnMode value.

Примеры

В следующем примере кода этот метод используется для того, чтобы ширина столбца была достаточно большой для размещения нового значения ячейки.The following code example uses this method to make the column width large enough to accommodate a new cell value. Этот пример является частью большого примера, доступного в [How: Обработка строк в элементе управления Windows Forms DataGridView @ no__t-0.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

Комментарии

Этот метод полезен, если требуется управлять изменением размера столбца.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. Чтобы изменить размер всех столбцов, используйте метод AutoResizeColumns.To resize all columns, use the AutoResizeColumns method. Чтобы задать автоматическое изменение размера столбца при изменении его содержимого, используйте свойство AutoSizeColumnsMode или свойство Column AutoSizeMode.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.

Дополнительные сведения о программном изменении размера см. в разделе Параметры изменения размера в элементе управления Windows Forms DataGridView.For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

Дополнительно

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)

Параметры

columnIndex
Int32

Индекс столбца, размер которого будет изменен.The index of the column to resize.

autoSizeColumnMode
DataGridViewAutoSizeColumnMode

Одно из значений перечисления DataGridViewAutoSizeColumnMode.One of the DataGridViewAutoSizeColumnMode values.

fixedHeight
Boolean

Значение true, чтобы новая ширина рассчитывалась исходя из текущей высоты строк; значение false, чтобы ширина рассчитывалась с предположением, что высота строк будет впоследствии также скорректирована.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.

Исключения

autoSizeColumnMode имеет значение ColumnHeader, а ColumnHeadersVisible равен false.autoSizeColumnMode has the value ColumnHeader and ColumnHeadersVisible is false.

autoSizeColumnMode имеет значение NotSet, None или Fill.autoSizeColumnMode has the value NotSet, None, or Fill.

columnIndex не находится в допустимом диапазоне от 0 до количества столбцов минус 1.columnIndex is not in the valid range of 0 to the number of columns minus 1.

autoSizeColumnMode не является допустимым значением DataGridViewAutoSizeColumnMode.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. Чтобы изменить размер всех столбцов, используйте метод AutoResizeColumns.To resize all columns, use the AutoResizeColumns method. Чтобы задать автоматическое изменение размера столбца при изменении его содержимого, используйте свойство AutoSizeColumnsMode или свойство Column AutoSizeMode.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.

Эта перегрузка защищена и разработана таким образом, чтобы обеспечить оптимальное соотношение высоты ячеек к ширине в производном классе DataGridView.This overload is protected and is designed to enable you to achieve ideal cell height-to-width ratios in a derived DataGridView class. Если fixedHeight равно false, то ширина столбца будет вычисляться с учетом ожидания вызова метода AutoResizeRow или AutoResizeRows Далее.If fixedHeight is false, the column width will be calculated with the expectation that you will call the AutoResizeRow or AutoResizeRows method next.

Дополнительные сведения о программном изменении размера см. в разделе Параметры изменения размера в элементе управления Windows Forms DataGridView.For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

Дополнительно

Применяется к