DataGridView.AutoResizeColumn Metoda

Definicja

Dostosowuje szerokość określonej kolumny, aby dopasować zawartość jej komórek.

Przeciążenia

AutoResizeColumn(Int32)

Dostosowuje szerokość określonej kolumny, aby pasowała do zawartości wszystkich komórek, w tym komórki nagłówka.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Dostosowuje szerokość określonej kolumny przy użyciu określonego trybu rozmiaru.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Dostosowuje szerokość określonej kolumny przy użyciu określonego trybu rozmiaru, opcjonalnie oblicza szerokość z oczekiwaniami, że wysokość wierszy zostanie później skorygowana.

AutoResizeColumn(Int32)

Dostosowuje szerokość określonej kolumny, aby pasowała do zawartości wszystkich komórek, w tym komórki nagłówka.

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

Parametry

columnIndex
Int32

Indeks kolumny do zmiany rozmiaru.

Wyjątki

columnIndex nie znajduje się w prawidłowym zakresie od 0 do liczby kolumn minus 1.

Przykłady

Poniższy przykład kodu używa tej metody, aby szerokość kolumny wystarczająco duża, aby pomieścić nową wartość komórki. Ten przykład jest częścią większego przykładu dostępnego w temacie How to: Manipulate Rows in the Windows Forms DataGridView Control (Manipulowanie wierszami w kontrolce DataGridView).

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

Uwagi

Ta metoda jest przydatna, jeśli chcesz kontrolować, kiedy zmienia się rozmiar kolumny. Szerokość kolumny jest dostosowywana tylko raz na wywołanie metody; jeśli zawartość kolumny zostanie później zmieniona, kolumna nie zostanie automatycznie dopasowana. Aby zmienić rozmiar wszystkich kolumn, użyj AutoResizeColumns metody . Aby ustawić kolumnę tak, aby automatycznie zmieniała rozmiar każdej zmiany zawartości, użyj AutoSizeColumnsMode właściwości lub właściwości kolumny AutoSizeMode .

Aby uzyskać więcej informacji na temat zmiany rozmiaru programowego, zobacz Opcje określania rozmiaru w kontrolce dataGridView Windows Forms.

Zobacz też

Dotyczy

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Dostosowuje szerokość określonej kolumny przy użyciu określonego trybu rozmiaru.

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)

Parametry

columnIndex
Int32

Indeks kolumny do zmiany rozmiaru.

autoSizeColumnMode
DataGridViewAutoSizeColumnMode

Jedna z DataGridViewAutoSizeColumnMode wartości.

Wyjątki

autoSizeColumnModema wartość i ColumnHeadersVisible ma falsewartość ColumnHeader .

autoSizeColumnMode ma wartość NotSet, Nonelub Fill.

columnIndex nie znajduje się w prawidłowym zakresie od 0 do liczby kolumn minus 1.

autoSizeColumnMode jest nieprawidłową DataGridViewAutoSizeColumnMode wartością.

Przykłady

Poniższy przykład kodu używa tej metody, aby szerokość kolumny wystarczająco duża, aby pomieścić nową wartość komórki. Ten przykład jest częścią większego przykładu dostępnego w temacie How to: Manipulate Rows in the Windows Forms DataGridView Control (Manipulowanie wierszami w kontrolce DataGridView).

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

Uwagi

Ta metoda jest przydatna, jeśli chcesz kontrolować, kiedy zmienia się rozmiar kolumny. Szerokość kolumny jest dostosowywana tylko raz na wywołanie metody; jeśli zawartość kolumny zostanie później zmieniona, kolumna nie zostanie automatycznie dopasowana. Aby zmienić rozmiar wszystkich kolumn, użyj AutoResizeColumns metody . Aby ustawić kolumnę tak, aby automatycznie zmieniała rozmiar każdej zmiany zawartości, użyj AutoSizeColumnsMode właściwości lub właściwości kolumny AutoSizeMode .

To przeciążenie umożliwia określenie trybu ustalania rozmiaru, który oblicza nową szerokość na podstawie wartości w ograniczonym zestawie komórek, takich jak te w wyświetlanych wierszach. Zwiększa to wydajność, gdy kontrolka zawiera dużą liczbę wierszy.

Aby uzyskać więcej informacji na temat zmiany rozmiaru programowego, zobacz Opcje określania rozmiaru w kontrolce dataGridView Windows Forms.

Zobacz też

Dotyczy

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Dostosowuje szerokość określonej kolumny przy użyciu określonego trybu rozmiaru, opcjonalnie oblicza szerokość z oczekiwaniami, że wysokość wierszy zostanie później skorygowana.

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)

Parametry

columnIndex
Int32

Indeks kolumny do zmiany rozmiaru.

autoSizeColumnMode
DataGridViewAutoSizeColumnMode

Jedna z DataGridViewAutoSizeColumnMode wartości.

fixedHeight
Boolean

true aby obliczyć nową szerokość na podstawie bieżących wysokości wierszy; false aby obliczyć szerokość z oczekiwaniami, że wysokość wiersza również zostanie skorygowana.

Wyjątki

autoSizeColumnModema wartość i ColumnHeadersVisible ma falsewartość ColumnHeader .

autoSizeColumnMode ma wartość NotSet, Nonelub Fill.

columnIndex nie znajduje się w prawidłowym zakresie od 0 do liczby kolumn minus 1.

autoSizeColumnMode jest nieprawidłową DataGridViewAutoSizeColumnMode wartością.

Uwagi

Ta metoda jest przydatna, jeśli chcesz kontrolować, kiedy zmienia się rozmiar kolumny. Szerokość kolumny jest dostosowywana tylko raz na wywołanie metody; jeśli zawartość kolumny zostanie później zmieniona, kolumna nie zostanie automatycznie dopasowana. Aby zmienić rozmiar wszystkich kolumn, użyj AutoResizeColumns metody . Aby ustawić kolumnę tak, aby automatycznie zmieniała rozmiar każdej zmiany zawartości, użyj AutoSizeColumnsMode właściwości lub właściwości kolumny AutoSizeMode .

To przeciążenie umożliwia określenie trybu ustalania rozmiaru, który oblicza nową szerokość na podstawie wartości w ograniczonym zestawie komórek, takich jak te w wyświetlanych wierszach. Zwiększa to wydajność, gdy kontrolka zawiera dużą liczbę wierszy.

To przeciążenie jest chronione i ma na celu umożliwienie osiągnięcia idealnych współczynników wysokości do szerokości komórek w klasie pochodnej DataGridView . Jeśli fixedHeight jest to false, szerokość kolumny zostanie obliczona z oczekiwaniami, że wywołasz metodę AutoResizeRow or AutoResizeRows dalej.

Aby uzyskać więcej informacji na temat zmiany rozmiaru programowego, zobacz Opcje określania rozmiaru w kontrolce dataGridView Windows Forms.

Zobacz też

Dotyczy