DataGridView.AutoResizeColumn Method

Definition

Regola la larghezza della colonna specificata per adattarla al contenuto delle relative celle.Adjusts the width of the specified column to fit the contents of its cells.

Overloads

AutoResizeColumn(Int32)

Regola la larghezza della colonna specificata per adattarla al contenuto di tutte le relative celle, inclusa quella dell'intestazione.Adjusts the width of the specified column to fit the contents of all its cells, including the header cell.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Regola la larghezza della colonna specificata usando la modalità di ridimensionamento specificata.Adjusts the width of the specified column using the specified size mode.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Regola la larghezza della colonna specificata usando la modalità di ridimensionamento specificata, calcolando eventualmente la larghezza nella previsione che l'altezza delle righe verrà regolata successivamente.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)

Regola la larghezza della colonna specificata per adattarla al contenuto di tutte le relative celle, inclusa quella dell'intestazione.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

Indice della colonna da ridimensionare.The index of the column to resize.

Exceptions

columnIndex non è compreso nell'intervallo valido, ovvero tra 0 e il numero di colonne meno 1.columnIndex is not in the valid range of 0 to the number of columns minus 1.

Examples

Nell'esempio di codice seguente viene usato questo metodo per rendere la larghezza della colonna sufficientemente grande da contenere un nuovo valore di cella.The following code example uses this method to make the column width large enough to accommodate a new cell value. Questo esempio fa parte di un esempio più ampio disponibile in procedura: modificare le righe nel controllo Windows Forms DataGridView.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

Questo metodo è utile se si desidera controllare quando una colonna viene ridimensionata.This method is useful if you want to control when a column resizes. La larghezza della colonna viene modificata solo una volta per ogni chiamata al metodo. Se il contenuto della colonna viene modificato in un secondo momento, la colonna non verrà modificata automaticamente.The column width is adjusted only once per method call; if the contents of the column later change, the column will not automatically adjust. Per ridimensionare tutte le colonne, utilizzare il metodo AutoResizeColumns.To resize all columns, use the AutoResizeColumns method. Per impostare la colonna in modo che venga ridimensionata automaticamente ogni volta che il contenuto cambia, utilizzare la proprietà AutoSizeColumnsMode o la colonna AutoSizeMode.To set the column to automatically resize whenever its contents change, use the AutoSizeColumnsMode property or the column AutoSizeMode property.

Per ulteriori informazioni sul ridimensionamento a livello di codice, vedere Opzioni di ridimensionamento nel controllo DataGridView Windows Forms.For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

See also

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Regola la larghezza della colonna specificata usando la modalità di ridimensionamento specificata.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

Indice della colonna da ridimensionare.The index of the column to resize.

Exceptions

Il valore di autoSizeColumnMode è ColumnHeader e ColumnHeadersVisible è false.autoSizeColumnMode has the value ColumnHeader and ColumnHeadersVisible is false.

Il valore di autoSizeColumnMode è NotSet, None o Fill.autoSizeColumnMode has the value NotSet, None, or Fill.

columnIndex non è compreso nell'intervallo valido, ovvero tra 0 e il numero di colonne meno 1.columnIndex is not in the valid range of 0 to the number of columns minus 1.

autoSizeColumnMode non è un valore DataGridViewAutoSizeColumnMode valido.autoSizeColumnMode is not a valid DataGridViewAutoSizeColumnMode value.

Examples

Nell'esempio di codice seguente viene usato questo metodo per rendere la larghezza della colonna sufficientemente grande da contenere un nuovo valore di cella.The following code example uses this method to make the column width large enough to accommodate a new cell value. Questo esempio fa parte di un esempio più ampio disponibile in procedura: modificare le righe nel controllo Windows Forms DataGridView.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

Questo metodo è utile se si desidera controllare quando una colonna viene ridimensionata.This method is useful if you want to control when a column resizes. La larghezza della colonna viene modificata solo una volta per ogni chiamata al metodo. Se il contenuto della colonna viene modificato in un secondo momento, la colonna non verrà modificata automaticamente.The column width is adjusted only once per method call; if the contents of the column later change, the column will not automatically adjust. Per ridimensionare tutte le colonne, utilizzare il metodo AutoResizeColumns.To resize all columns, use the AutoResizeColumns method. Per impostare la colonna in modo che venga ridimensionata automaticamente ogni volta che il contenuto cambia, utilizzare la proprietà AutoSizeColumnsMode o la colonna AutoSizeMode.To set the column to automatically resize whenever its contents change, use the AutoSizeColumnsMode property or the column AutoSizeMode property.

Questo overload consente di specificare una modalità di ridimensionamento che calcola la nuova larghezza in base ai valori in un set limitato di celle, ad esempio quelle solo nelle righe visualizzate.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. Ciò migliora le prestazioni quando il controllo contiene un numero elevato di righe.This improves performance when the control contains a large number of rows.

Per ulteriori informazioni sul ridimensionamento a livello di codice, vedere Opzioni di ridimensionamento nel controllo DataGridView Windows Forms.For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

See also

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Regola la larghezza della colonna specificata usando la modalità di ridimensionamento specificata, calcolando eventualmente la larghezza nella previsione che l'altezza delle righe verrà regolata successivamente.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

Indice della colonna da ridimensionare.The index of the column to resize.

fixedHeight
Boolean

true per calcolare la nuova larghezza in base all'altezza corrente delle righe; false per calcolare la larghezza nella previsione che verrà regolata anche l'altezza delle righe.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

Il valore di autoSizeColumnMode è ColumnHeader e ColumnHeadersVisible è false.autoSizeColumnMode has the value ColumnHeader and ColumnHeadersVisible is false.

Il valore di autoSizeColumnMode è NotSet, None o Fill.autoSizeColumnMode has the value NotSet, None, or Fill.

columnIndex non è compreso nell'intervallo valido, ovvero tra 0 e il numero di colonne meno 1.columnIndex is not in the valid range of 0 to the number of columns minus 1.

autoSizeColumnMode non è un valore DataGridViewAutoSizeColumnMode valido.autoSizeColumnMode is not a valid DataGridViewAutoSizeColumnMode value.

Remarks

Questo metodo è utile se si desidera controllare quando una colonna viene ridimensionata.This method is useful if you want to control when a column resizes. La larghezza della colonna viene modificata solo una volta per ogni chiamata al metodo. Se il contenuto della colonna viene modificato in un secondo momento, la colonna non verrà modificata automaticamente.The column width is adjusted only once per method call; if the contents of the column later change, the column will not automatically adjust. Per ridimensionare tutte le colonne, utilizzare il metodo AutoResizeColumns.To resize all columns, use the AutoResizeColumns method. Per impostare la colonna in modo che venga ridimensionata automaticamente ogni volta che il contenuto cambia, utilizzare la proprietà AutoSizeColumnsMode o la colonna AutoSizeMode.To set the column to automatically resize whenever its contents change, use the AutoSizeColumnsMode property or the column AutoSizeMode property.

Questo overload consente di specificare una modalità di ridimensionamento che calcola la nuova larghezza in base ai valori in un set limitato di celle, ad esempio quelle solo nelle righe visualizzate.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. Ciò migliora le prestazioni quando il controllo contiene un numero elevato di righe.This improves performance when the control contains a large number of rows.

Questo overload è protetto ed è progettato per consentire l'ottenimento di proporzioni di altezza a larghezza della cella ideali in una classe di DataGridView derivata.This overload is protected and is designed to enable you to achieve ideal cell height-to-width ratios in a derived DataGridView class. Se fixedHeight è false, la larghezza della colonna verrà calcolata con l'aspettativa che verrà chiamato il metodo AutoResizeRow o AutoResizeRows successivo.If fixedHeight is false, the column width will be calculated with the expectation that you will call the AutoResizeRow or AutoResizeRows method next.

Per ulteriori informazioni sul ridimensionamento a livello di codice, vedere Opzioni di ridimensionamento nel controllo DataGridView Windows Forms.For more information about programmatic resizing, see Sizing Options in the Windows Forms DataGridView Control.

See also

Applies to