DataGridView.AutoResizeColumn 方法

定義

調整指定資料行的寬度,以適合其儲存格的內容。

多載

AutoResizeColumn(Int32)

調整指定資料行的寬度,以適合其所有儲存格的內容 (包括標題儲存格)。

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

使用指定的調整大小模式調整指定資料行的寬度。

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

使用指定的調整大小模式調整指定資料行的寬度,並在預期接下來將調整資料列高度的情況下,選擇性地計算寬度。

AutoResizeColumn(Int32)

調整指定資料行的寬度,以適合其所有儲存格的內容 (包括標題儲存格)。

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

參數

columnIndex
Int32

要調整大小之資料行的索引。

例外狀況

columnIndex 不在 0 到資料行數目減 1 的有效範圍內。

範例

下列程式碼範例會使用這個方法,讓資料行寬度夠大,以容納新的儲存格值。 此範例是如何:操作 DataGridView 控制項中Windows Forms資料列中較大範例的一部分。

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

備註

如果您想要控制資料行調整大小時,這個方法很有用。 每個方法呼叫的資料行寬度只會調整一次;如果稍後資料行的內容變更,資料行將不會自動調整。 若要調整所有資料行的大小,請使用 AutoResizeColumns 方法。 若要設定資料行在內容變更時自動調整大小,請使用 AutoSizeColumnsMode 屬性或資料行 AutoSizeMode 屬性。

如需以程式設計方式調整大小的詳細資訊,請參閱dataGridView 控制項中的 Windows Forms調整大小選項

另請參閱

適用於

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode)

使用指定的調整大小模式調整指定資料行的寬度。

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)

參數

columnIndex
Int32

要調整大小之資料行的索引。

autoSizeColumnMode
DataGridViewAutoSizeColumnMode

其中一個 DataGridViewAutoSizeColumnMode 值。

例外狀況

autoSizeColumnMode 具有值 ColumnHeader,且 ColumnHeadersVisiblefalse

autoSizeColumnMode 具有值 NotSetNoneFill

columnIndex 不在 0 到資料行數目減 1 的有效範圍內。

autoSizeColumnMode 不是有效的 DataGridViewAutoSizeColumnMode 值。

範例

下列程式碼範例會使用這個方法,讓資料行寬度夠大,以容納新的儲存格值。 此範例是如何:操作 DataGridView 控制項中Windows Forms資料列中較大範例的一部分。

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

備註

如果您想要控制資料行調整大小時,這個方法很有用。 每個方法呼叫的資料行寬度只會調整一次;如果稍後資料行的內容變更,資料行將不會自動調整。 若要調整所有資料行的大小,請使用 AutoResizeColumns 方法。 若要設定資料行在內容變更時自動調整大小,請使用 AutoSizeColumnsMode 屬性或資料行 AutoSizeMode 屬性。

此多載可讓您指定調整大小模式,根據一組有限儲存格中的值來計算新的寬度,例如只顯示的資料列中的值。 當控制項包含大量資料列時,這會改善效能。

如需以程式設計方式調整大小的詳細資訊,請參閱dataGridView 控制項中的 Windows Forms調整大小選項

另請參閱

適用於

AutoResizeColumn(Int32, DataGridViewAutoSizeColumnMode, Boolean)

使用指定的調整大小模式調整指定資料行的寬度,並在預期接下來將調整資料列高度的情況下,選擇性地計算寬度。

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)

參數

columnIndex
Int32

要調整大小之資料行的索引。

autoSizeColumnMode
DataGridViewAutoSizeColumnMode

其中一個 DataGridViewAutoSizeColumnMode 值。

fixedHeight
Boolean

true 表示根據目前的資料列高度來計算新的寬度;false 則表示在預期資料列高度也將會調整的情況下計算寬度。

例外狀況

autoSizeColumnMode 具有值 ColumnHeader,且 ColumnHeadersVisiblefalse

autoSizeColumnMode 具有值 NotSetNoneFill

columnIndex 不在 0 到資料行數目減 1 的有效範圍內。

autoSizeColumnMode 不是有效的 DataGridViewAutoSizeColumnMode 值。

備註

如果您想要控制資料行調整大小時,這個方法很有用。 每個方法呼叫的資料行寬度只會調整一次;如果稍後資料行的內容變更,資料行將不會自動調整。 若要調整所有資料行的大小,請使用 AutoResizeColumns 方法。 若要設定資料行在內容變更時自動調整大小,請使用 AutoSizeColumnsMode 屬性或資料行 AutoSizeMode 屬性。

此多載可讓您指定調整大小模式,根據一組有限儲存格中的值來計算新的寬度,例如只顯示的資料列中的值。 當控制項包含大量資料列時,這會改善效能。

此多載受到保護,其設計目的是讓您在衍生 DataGridView 類別中達到理想的儲存格高度與寬度比例。 如果 fixedHeightfalse ,則會計算資料行寬度,並預期您接下來會呼叫 AutoResizeRowAutoResizeRows 方法。

如需以程式設計方式調整大小的詳細資訊,請參閱dataGridView 控制項中的 Windows Forms調整大小選項

另請參閱

適用於