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 窗体行的较大示例的一部分。

// 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 属性。

有关编程大小调整的详细信息,请参阅 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 具有值 ColumnHeader,且 ColumnHeadersVisiblefalse

autoSizeColumnMode 具有值 NotSetNoneFill

columnIndex 不在 0 到列数减 1 的有效范围内。

autoSizeColumnMode 不是有效的 DataGridViewAutoSizeColumnMode 值。

示例

下面的代码示例使用此方法使列宽足以容纳新的单元格值。 本示例是“如何:操作 dataGridView 控件”中Windows 窗体行的较大示例的一部分。

// 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 属性。

通过此重载,可以指定一种大小调整模式,该模式根据一组有限单元格中的值(例如仅显示行中的值)计算新宽度。 当控件包含大量行时,这会提高性能。

有关编程大小调整的详细信息,请参阅 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

要调整大小的列的索引。

fixedHeight
Boolean

如果要基于当前的行高计算新宽度,则为 true;如果要在行高也进行调整的假定条件下计算宽度,则为 false

例外

autoSizeColumnMode 具有值 ColumnHeader,且 ColumnHeadersVisiblefalse

autoSizeColumnMode 具有值 NotSetNoneFill

columnIndex 不在 0 到列数减 1 的有效范围内。

autoSizeColumnMode 不是有效的 DataGridViewAutoSizeColumnMode 值。

注解

如果要控制列大小调整时,此方法非常有用。 每个方法调用仅调整一次列宽;如果列的内容稍后发生更改,则列不会自动调整。 若要调整所有列的大小,请使用 AutoResizeColumns 该方法。 若要设置列以在内容发生更改时自动调整大小,请使用 AutoSizeColumnsMode 属性或列 AutoSizeMode 属性。

通过此重载,可以指定一种大小调整模式,该模式根据一组有限单元格中的值(例如仅显示行中的值)计算新宽度。 当控件包含大量行时,这会提高性能。

此重载受到保护,旨在使你能够在派生 DataGridView 类中实现理想的单元格高度与宽度比率。 false如果是fixedHeight,将计算列宽,并期望接下来调用AutoResizeRowAutoResizeRows方法。

有关编程大小调整的详细信息,请参阅 Windows 窗体 dataGridView 控件中的大小调整选项

另请参阅

适用于