DataGridView.AutoSizeColumnsMode Propiedad

Definición

Obtiene o establece un valor que indica cómo se determina el ancho de las columnas.Gets or sets a value indicating how column widths are determined.

public:
 property System::Windows::Forms::DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { System::Windows::Forms::DataGridViewAutoSizeColumnsMode get(); void set(System::Windows::Forms::DataGridViewAutoSizeColumnsMode value); };
public System.Windows.Forms.DataGridViewAutoSizeColumnsMode AutoSizeColumnsMode { get; set; }
member this.AutoSizeColumnsMode : System.Windows.Forms.DataGridViewAutoSizeColumnsMode with get, set
Public Property AutoSizeColumnsMode As DataGridViewAutoSizeColumnsMode

Valor de propiedad

Excepciones

El valor especificado al establecer esta propiedad no es un valor de DataGridViewAutoSizeColumnsMode válido.The specified value when setting this property is not a valid DataGridViewAutoSizeColumnsMode value.

El valor especificado al establecer esta propiedad es ColumnHeader, los encabezados de columna se ocultan y al menos una columna visible tiene un valor de propiedad AutoSizeMode de NotSet.The specified value when setting this property is ColumnHeader, column headers are hidden, and at least one visible column has an AutoSizeMode property value of NotSet.

O bien-or- El valor especificado al establecer esta propiedad es Fill y al menos una columna visible con un valor de la propiedad AutoSizeMode de NotSet está inmovilizada.The specified value when setting this property is Fill and at least one visible column with an AutoSizeMode property value of NotSet is frozen.

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar esta propiedad en un escenario principal/detalle en el que dos controles DataGridView muestran datos de dos tablas en una relación de elementos primarios y secundarios.The following code example illustrates how to use this property in a master/detail scenario where two DataGridView controls display data from two tables in a parent/child relationship. En este ejemplo, el modo de cambio de tamaño de columna para el control maestro es None y los anchos de columna se inicializan mediante programación para ajustarse a los valores cargados.In this example, the column sizing mode for the master control is None, and the column widths are programmatically initialized to fit the loaded values. El control de detalles se establece en un modo de ajuste de tamaño de columna automática para que las columnas se ajusten automáticamente cada vez que cambian los valores (por ejemplo, cuando el usuario cambia la fila actual de la tabla primaria).The details control is set to an automatic column sizing mode so that columns will adjust automatically whenever the values change (for example, when the user changes the current row in the parent table). Este ejemplo forma parte de un ejemplo más grande disponible en [How para: Cree un formulario principal/detalle con dos Windows Forms controles DataGridView @ no__t-0.This example is part of a larger example available in How to: Create a Master/Detail Form Using Two Windows Forms DataGridView Controls.

private void Form1_Load(object sender, System.EventArgs e)
{
    // Bind the DataGridView controls to the BindingSource
    // components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource;
    detailsDataGridView.DataSource = detailsBindingSource;
    GetData();

    // Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns();

    // Configure the details DataGridView so that its columns automatically
    // adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = 
        DataGridViewAutoSizeColumnsMode.AllCells;
}
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles Me.Load

    ' Bind the DataGridView controls to the BindingSource
    ' components and load the data from the database.
    masterDataGridView.DataSource = masterBindingSource
    detailsDataGridView.DataSource = detailsBindingSource
    GetData()

    ' Resize the master DataGridView columns to fit the newly loaded data.
    masterDataGridView.AutoResizeColumns()

    ' Configure the details DataGridView so that its columns automatically
    ' adjust their widths when the data changes.
    detailsDataGridView.AutoSizeColumnsMode = _
        DataGridViewAutoSizeColumnsMode.AllCells

End Sub

Comentarios

Esta propiedad le permite configurar el control para que los anchos de columna se ajusten automáticamente para rellenar el control o ajustar el contenido de la celda.This property lets you configure the control so that column widths are automatically adjusted either to fill the control or to fit cell contents. Los ajustes de tamaño se producen en el modo de relleno siempre que cambia el ancho del control.Size adjustments occur in fill mode whenever the width of the control changes. En los modos de ajuste de tamaño basado en contenido, los ajustes de tamaño se producen cada vez que cambia el contenido de la celda o, si se habilita WrapMode, cada vez que cambia el alto de las filas.In content-based sizing modes, size adjustments occur whenever cell contents change or, if WrapMode is enabled, whenever row heights change. Algunos modos de ajuste de tamaño basados en contenido permiten limitar el ajuste de tamaño a las filas mostradas actualmente para aumentar el rendimiento.Some content-based sizing modes let you limit the size adjustment to the currently displayed rows in order to increase performance.

Para cambiar el modo de ajuste de tamaño de una columna individual, establezca su propiedad AutoSizeMode.To change the sizing mode for an individual column, set its AutoSizeMode property. El valor predeterminado de esta propiedad es NotSet, que indica que la columna hereda su comportamiento y su valor de propiedad InheritedAutoSizeMode del control.The default value of this property is NotSet, indicating that the column inherits its behavior and its InheritedAutoSizeMode property value from the control.

Las columnas en modo de relleno dividen el ancho de control disponible en las proporciones indicadas por sus valores de propiedad FillWeight.Columns in fill mode divide the available control width in proportions indicated by their FillWeight property values. El ancho disponible para el modo de relleno se determina restando el ancho de todas las demás columnas del ancho del área cliente del control.The width available for fill mode is determined by subtracting the widths of all other columns from the width of the client area of the control. Si este ancho es menor que los valores combinados MinimumWidth de todas las columnas en modo de relleno, se muestra la barra de desplazamiento horizontal, se muestran todas las columnas en modo de relleno con el ancho mínimo y se deshabilita el cambio de tamaño de las columnas de usuario.If this width is smaller than the combined MinimumWidth values of all fill-mode columns, the horizontal scroll bar is displayed, all fill-mode columns are shown with their minimum widths, and user column-resizing is disabled. Para obtener más información sobre el modo de relleno de columnas, vea modo de relleno de columnas en el control DataGridView de Windows Forms.For more information about column fill mode, see Column Fill Mode in the Windows Forms DataGridView Control.

Solo se cambia automáticamente el tamaño de las columnas con un valor de propiedad Visible de true y el cambio de la visibilidad de una columna no provoca que se produzca el cambio de tamaño.Only columns with a Visible property value of true are resized automatically, and changing the visibility of a column does not cause resizing to occur. Además, cuando las columnas están configuradas para cambiar de tamaño automáticamente, el usuario no puede ajustar el ancho de las columnas con el mouse.Additionally, when columns are set to automatically resize, the user cannot adjust the column widths with the mouse.

Para ajustar los anchos de columna mediante programación, use los métodos AutoResizeColumn o AutoResizeColumns o establezca la propiedad Width de la columna.To adjust column widths programmatically, use the AutoResizeColumn or AutoResizeColumns methods or set the column Width property.

Para obtener más información sobre el ajuste automático de tamaño basado en el contenido, consulte Opciones de ajuste de tamaño en el control DataGridView Windows Forms.For more information about content-based automatic sizing, see Sizing Options in the Windows Forms DataGridView Control.

Se aplica a

Consulte también: