DataGridView.AutoResizeColumn Methode

Definition

Passt die Breite der angegebenen Spalte an den Inhalt ihrer Zellen an.

Überlädt

AutoResizeColumn(Int32)

Passt die Breite der angegebenen Spalte an den Inhalt ihrer Zellen einschließlich der Headerzelle an.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Passt die Breite der angegebenen Spalte anhand des angegebenen Größenmodus an.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Passt die Breite der angegebenen Spalte im angegebenen Größenänderungsmodus an und berechnet optional die Breite unter der Annahme, dass die jeweilige Zeilenhöhe anschließend angepasst wird.

AutoResizeColumn(Int32)

Passt die Breite der angegebenen Spalte an den Inhalt ihrer Zellen einschließlich der Headerzelle an.

public:
 void AutoResizeColumn(int columnIndex);
public void AutoResizeColumn (int columnIndex);
member this.AutoResizeColumn : int -> unit
Public Sub AutoResizeColumn (columnIndex As Integer)

Parameter

columnIndex
Int32

Der Index der Spalte, deren Größe geändert werden soll.

Ausnahmen

columnIndex liegt nicht im gültigen Bereich von 0 bis zur Anzahl der Spalten minus 1.

Beispiele

Im folgenden Codebeispiel wird diese Methode verwendet, um die Spaltenbreite groß genug zu machen, um einen neuen Zellwert zu berücksichtigen. Dieses Beispiel ist Teil eines größeren Beispiels, das in How to: Manipulation rows in the Windows Forms DataGridView Control verfügbar ist.

// 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

Hinweise

Diese Methode ist nützlich, wenn Sie steuern möchten, wann eine Spalte die Größe ändert. Die Spaltenbreite wird nur einmal pro Methodenaufruf angepasst; Wenn sich der Inhalt der Spalte später ändert, wird die Spalte nicht automatisch angepasst. Verwenden Sie die Methode, um die AutoResizeColumns Größe aller Spalten zu ändern. Wenn Sie die Größe der Spalte festlegen möchten, wenn sich der Inhalt ändert, verwenden Sie die AutoSizeColumnsMode Eigenschaft oder die Spalteneigenschaft AutoSizeMode .

Weitere Informationen zur programmgesteuerten Größenänderung finden Sie unter Sizing Options in the Windows Forms DataGridView Control.

Siehe auch

Gilt für

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Passt die Breite der angegebenen Spalte anhand des angegebenen Größenmodus an.

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)

Parameter

columnIndex
Int32

Der Index der Spalte, deren Größe geändert werden soll.

Ausnahmen

autoSizeColumnMode hat den Wert ColumnHeader, und ColumnHeadersVisible ist false.

autoSizeColumnMode hat den Wert NotSet, None oder Fill.

columnIndex liegt nicht im gültigen Bereich von 0 bis zur Anzahl der Spalten minus 1.

autoSizeColumnMode ist kein gültiger DataGridViewAutoSizeColumnMode-Wert.

Beispiele

Im folgenden Codebeispiel wird diese Methode verwendet, um die Spaltenbreite groß genug zu machen, um einen neuen Zellwert zu berücksichtigen. Dieses Beispiel ist Teil eines größeren Beispiels, das in How to: Manipulation rows in the Windows Forms DataGridView Control verfügbar ist.

// 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

Hinweise

Diese Methode ist nützlich, wenn Sie steuern möchten, wann eine Spalte die Größe ändert. Die Spaltenbreite wird nur einmal pro Methodenaufruf angepasst; Wenn sich der Inhalt der Spalte später ändert, wird die Spalte nicht automatisch angepasst. Verwenden Sie die Methode, um die AutoResizeColumns Größe aller Spalten zu ändern. Wenn Sie die Größe der Spalte festlegen möchten, wenn sich der Inhalt ändert, verwenden Sie die AutoSizeColumnsMode Eigenschaft oder die Spalteneigenschaft AutoSizeMode .

Mit dieser Überladung können Sie einen Größenmodus angeben, der die neue Breite basierend auf Werten in einer begrenzten Gruppe von Zellen berechnet, z. B. nur in angezeigten Zeilen. Dadurch wird die Leistung verbessert, wenn das Steuerelement eine große Anzahl von Zeilen enthält.

Weitere Informationen zur programmgesteuerten Größenänderung finden Sie unter Sizing Options in the Windows Forms DataGridView Control.

Siehe auch

Gilt für

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Passt die Breite der angegebenen Spalte im angegebenen Größenänderungsmodus an und berechnet optional die Breite unter der Annahme, dass die jeweilige Zeilenhöhe anschließend angepasst wird.

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)

Parameter

columnIndex
Int32

Der Index der Spalte, deren Größe geändert werden soll.

fixedHeight
Boolean

true, um die neue Breite auf Grundlage der aktuellen Zeilenhöhe zu berechnen, false, um die Breite unter der Annahme zu berechnen, dass die Zeilenhöhe ebenfalls angepasst wird.

Ausnahmen

autoSizeColumnMode hat den Wert ColumnHeader, und ColumnHeadersVisible ist false.

autoSizeColumnMode hat den Wert NotSet, None oder Fill.

columnIndex liegt nicht im gültigen Bereich von 0 bis zur Anzahl der Spalten minus 1.

autoSizeColumnMode ist kein gültiger DataGridViewAutoSizeColumnMode-Wert.

Hinweise

Diese Methode ist nützlich, wenn Sie steuern möchten, wann eine Spalte die Größe ändert. Die Spaltenbreite wird nur einmal pro Methodenaufruf angepasst; Wenn sich der Inhalt der Spalte später ändert, wird die Spalte nicht automatisch angepasst. Verwenden Sie die Methode, um die AutoResizeColumns Größe aller Spalten zu ändern. Wenn Sie die Größe der Spalte festlegen möchten, wenn sich der Inhalt ändert, verwenden Sie die AutoSizeColumnsMode Eigenschaft oder die Spalteneigenschaft AutoSizeMode .

Mit dieser Überladung können Sie einen Größenmodus angeben, der die neue Breite basierend auf Werten in einer begrenzten Gruppe von Zellen berechnet, z. B. nur in angezeigten Zeilen. Dadurch wird die Leistung verbessert, wenn das Steuerelement eine große Anzahl von Zeilen enthält.

Diese Überladung ist geschützt und ist so konzipiert, dass Sie ideale Zellhöhen-zu-Breite-Verhältnis in einer abgeleiteten DataGridView Klasse erzielen können. Wenn fixedHeight ja false, wird die Spaltenbreite mit der Erwartung berechnet, dass Sie die AutoResizeRow Methode AutoResizeRows als nächstes aufrufen.

Weitere Informationen zur programmgesteuerten Größenänderung finden Sie unter Sizing Options in the Windows Forms DataGridView Control.

Siehe auch

Gilt für