DataGridView.AutoResizeColumn Metod

Definition

Justerar bredden på den angivna kolumnen så att den passar innehållet i dess celler.

Överlagringar

Name Description
AutoResizeColumn(Int32)

Justerar bredden på den angivna kolumnen så att den passar innehållet i alla dess celler, inklusive rubrikcellen.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Justerar bredden på den angivna kolumnen med det angivna storleksläget.

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Justerar bredden på den angivna kolumnen med det angivna storleksläget, om du vill beräkna bredden med förväntningen att radhöjderna därefter ska justeras.

AutoResizeColumn(Int32)

Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs

Justerar bredden på den angivna kolumnen så att den passar innehållet i alla dess celler, inklusive rubrikcellen.

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

Parametrar

columnIndex
Int32

Indexet för kolumnen som ska storleksanpassas.

Undantag

columnIndex är inte i det giltiga intervallet 0 till antalet kolumner minus 1.

Exempel

I följande kodexempel används den här metoden för att göra kolumnbredden tillräckligt stor för att rymma ett nytt cellvärde. Det här exemplet är en del av ett större exempel som är tillgängligt i 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

Kommentarer

Den här metoden är användbar om du vill styra när en kolumn ändrar storlek. Kolumnbredden justeras bara en gång per metodanrop. Om innehållet i kolumnen ändras senare justeras inte kolumnen automatiskt. Om du vill ändra storlek på alla kolumner använder du AutoResizeColumns metoden . Om du vill ange att kolumnen ska ändra storlek automatiskt när innehållet ändras använder du AutoSizeColumnsMode egenskapen eller kolumnegenskapen AutoSizeMode .

Mer information om programmatisk storleksändring finns i Storleksalternativ i Windows Forms DataGridView Control.

Se även

Gäller för

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs

Justerar bredden på den angivna kolumnen med det angivna storleksläget.

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)

Parametrar

columnIndex
Int32

Indexet för kolumnen som ska storleksanpassas.

Undantag

autoSizeColumnMode har värdet ColumnHeader och ColumnHeadersVisible är false.

autoSizeColumnMode har värdet NotSet, Noneeller Fill.

columnIndex är inte i det giltiga intervallet 0 till antalet kolumner minus 1.

autoSizeColumnMode är inte ett giltigt DataGridViewAutoSizeColumnMode värde.

Exempel

I följande kodexempel används den här metoden för att göra kolumnbredden tillräckligt stor för att rymma ett nytt cellvärde. Det här exemplet är en del av ett större exempel som är tillgängligt i 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

Kommentarer

Den här metoden är användbar om du vill styra när en kolumn ändrar storlek. Kolumnbredden justeras bara en gång per metodanrop. Om innehållet i kolumnen ändras senare justeras inte kolumnen automatiskt. Om du vill ändra storlek på alla kolumner använder du AutoResizeColumns metoden . Om du vill ange att kolumnen ska ändra storlek automatiskt när innehållet ändras använder du AutoSizeColumnsMode egenskapen eller kolumnegenskapen AutoSizeMode .

Med den här överlagringen kan du ange ett storleksläge som beräknar den nya bredden baserat på värden i en begränsad uppsättning celler, till exempel de som endast visas i rader. Detta förbättrar prestanda när kontrollen innehåller ett stort antal rader.

Mer information om programmatisk storleksändring finns i Storleksalternativ i Windows Forms DataGridView Control.

Se även

Gäller för

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs
Källa:
DataGridView.Methods.cs

Justerar bredden på den angivna kolumnen med det angivna storleksläget, om du vill beräkna bredden med förväntningen att radhöjderna därefter ska justeras.

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)

Parametrar

columnIndex
Int32

Indexet för kolumnen som ska storleksanpassas.

fixedHeight
Boolean

true för att beräkna den nya bredden baserat på de aktuella radhöjderna. false för att beräkna bredden med förväntningen att radhöjderna också ska justeras.

Undantag

autoSizeColumnMode har värdet ColumnHeader och ColumnHeadersVisible är false.

autoSizeColumnMode har värdet NotSet, Noneeller Fill.

columnIndex är inte i det giltiga intervallet 0 till antalet kolumner minus 1.

autoSizeColumnMode är inte ett giltigt DataGridViewAutoSizeColumnMode värde.

Kommentarer

Den här metoden är användbar om du vill styra när en kolumn ändrar storlek. Kolumnbredden justeras bara en gång per metodanrop. Om innehållet i kolumnen ändras senare justeras inte kolumnen automatiskt. Om du vill ändra storlek på alla kolumner använder du AutoResizeColumns metoden . Om du vill ange att kolumnen ska ändra storlek automatiskt när innehållet ändras använder du AutoSizeColumnsMode egenskapen eller kolumnegenskapen AutoSizeMode .

Med den här överlagringen kan du ange ett storleksläge som beräknar den nya bredden baserat på värden i en begränsad uppsättning celler, till exempel de som endast visas i rader. Detta förbättrar prestanda när kontrollen innehåller ett stort antal rader.

Den här överlagringen är skyddad och är utformad för att du ska kunna uppnå idealiska cellhöjd-till-bredd-förhållanden i en härledd DataGridView klass. Om fixedHeight är falseberäknas kolumnbredden med förväntan att du ska anropa AutoResizeRow metoden eller AutoResizeRows nästa.

Mer information om programmatisk storleksändring finns i Storleksalternativ i Windows Forms DataGridView Control.

Se även

Gäller för