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 以下の、有効な範囲内にありません。

次のコード例では、このメソッドを使用して、新しいセル値に合わせて列の幅を十分に大きくします。 この例は、「方法: Windows フォーム 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

注釈

このメソッドは、列のサイズを変更するタイミングを制御する場合に便利です。 列の幅は、メソッド呼び出しごとに 1 回だけ調整されます。後で列の内容が変更された場合、列は自動的に調整されません。 すべての列のサイズを変更するには、メソッドを使用します AutoResizeColumns 。 内容が変更されるたびに列のサイズが自動的に変更されるように設定するには、プロパティまたは列AutoSizeModeプロパティを使用AutoSizeColumnsModeします。

プログラムによるサイズ変更の詳細については、「Windows フォーム DataGridView コントロールのサイズ変更オプション」を参照してください。

こちらもご覧ください

適用対象

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 値のいずれか 1 つ。

例外

autoSizeColumnMode の値が ColumnHeader であり、かつ ColumnHeadersVisiblefalse です。

autoSizeColumnMode の値が NotSetNone、または Fillです。

columnIndex が、0 以上、列数 - 1 以下の、有効な範囲内にありません。

autoSizeColumnMode は有効な DataGridViewAutoSizeColumnMode 値ではありません。

次のコード例では、このメソッドを使用して、新しいセル値に合わせて列の幅を十分に大きくします。 この例は、「方法: Windows フォーム 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

注釈

このメソッドは、列のサイズを変更するタイミングを制御する場合に便利です。 列の幅は、メソッド呼び出しごとに 1 回だけ調整されます。後で列の内容が変更された場合、列は自動的に調整されません。 すべての列のサイズを変更するには、メソッドを使用します AutoResizeColumns 。 内容が変更されるたびに列のサイズが自動的に変更されるように設定するには、プロパティまたは列AutoSizeModeプロパティを使用AutoSizeColumnsModeします。

このオーバーロードを使用すると、表示される行のみなど、限られたセル セットの値に基づいて新しい幅を計算するサイズ変更モードを指定できます。 これにより、コントロールに多数の行が含まれている場合のパフォーマンスが向上します。

プログラムによるサイズ変更の詳細については、「Windows フォーム DataGridView コントロールのサイズ変更オプション」を参照してください。

こちらもご覧ください

適用対象

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 値のいずれか 1 つ。

fixedHeight
Boolean

現在の行の高さに基づいて新しい幅を計算する場合は true。行の高さも調整されることを見込んで幅を計算する場合は false

例外

autoSizeColumnMode の値が ColumnHeader であり、かつ ColumnHeadersVisiblefalse です。

autoSizeColumnMode の値が NotSetNone、または Fillです。

columnIndex が、0 以上、列数 - 1 以下の、有効な範囲内にありません。

autoSizeColumnMode は有効な DataGridViewAutoSizeColumnMode 値ではありません。

注釈

このメソッドは、列のサイズを変更するタイミングを制御する場合に便利です。 列の幅は、メソッド呼び出しごとに 1 回だけ調整されます。後で列の内容が変更された場合、列は自動的に調整されません。 すべての列のサイズを変更するには、メソッドを使用します AutoResizeColumns 。 内容が変更されるたびに列のサイズが自動的に変更されるように設定するには、プロパティまたは列AutoSizeModeプロパティを使用AutoSizeColumnsModeします。

このオーバーロードを使用すると、表示される行のみなど、限られたセル セットの値に基づいて新しい幅を計算するサイズ変更モードを指定できます。 これにより、コントロールに多数の行が含まれている場合のパフォーマンスが向上します。

このオーバーロードは保護されており、派生 DataGridView クラスで理想的なセルの高さと幅の比率を実現できるように設計されています。 あるfalse場合fixedHeight、列の幅は、次に or AutoResizeRows メソッドを呼び出AutoResizeRowすと想定して計算されます。

プログラムによるサイズ変更の詳細については、「Windows フォーム DataGridView コントロールのサイズ変更オプション」を参照してください。

こちらもご覧ください

適用対象