DataGridView.AutoResizeColumn Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.
- autoSizeColumnMode
- DataGridViewAutoSizeColumnMode
Einer der DataGridViewAutoSizeColumnMode-Werte.
Ausnahmen
autoSizeColumnMode
hat den Wert ColumnHeader, und ColumnHeadersVisible ist false
.
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.
- autoSizeColumnMode
- DataGridViewAutoSizeColumnMode
Einer der DataGridViewAutoSizeColumnMode-Werte.
- 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
.
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.