Share via


Modos de presentación de datos en el control DataGridView de formularios Windows Forms

Actualización: noviembre 2007

El control DataGridView puede mostrar los datos en tres modos distintos: de enlace, sin enlazar y virtual. Elija el modo más adecuado en función de sus necesidades.

Sin enlazar

El modo sin enlazar es adecuado para mostrar cantidades relativamente pequeñas de datos que se pueden administrar mediante programación. No asocie directamente el control DataGridView a un origen de datos como en modo de enlace. En su lugar, debe rellenar el control, utilizando normalmente el método DataGridViewRowCollection.Add.

El modo sin enlazar puede ser particularmente útil para datos estáticos y de sólo lectura, o cuando desea proporcionar su propio código que interactúe con un almacén de datos externo. Sin embargo, si desea que los usuarios interactúen con un origen de datos externo, utilice el modo de enlace.

Para obtener un ejemplo que utiliza un DataGridView sin enlazar y de sólo lectura, vea Cómo: Crear un control DataGridView no enlazado en formularios Windows Forms.

De enlace

El modo de enlace es adecuado para administrar datos mediante la interacción automática con el almacén de datos. Puede asociar directamente el control DataGridView a su origen de datos estableciendo la propiedad DataSource. Cuando el control está enlazado a datos, se insertan y se extraen las filas de datos sin la necesidad de una administración explícita por su parte. Cuando la propiedad AutoGenerateColumns es true, cada columna del origen de datos producirá una columna correspondiente que se creará en el control. Si prefiere crear sus propias columnas, puede establecer esta propiedad en false y utilizar la propiedad DataPropertyName para enlazar cada columna cuando la configure. Esto resulta muy útil cuando desea utilizar un tipo de columna distinto de los tipos que se generan de forma predeterminada. Para obtener más información, vea Tipos de columnas en el control DataGridView de formularios Windows Forms.

Para obtener un ejemplo que utiliza un control DataGridView enlazado, vea Tutorial: Validar datos en el control DataGridView de formularios Windows Forms.

También puede agregar las columnas sin enlazar a un control DataGridView en modo de enlace. Esto resulta útil cuando desea mostrar una columna de botones o vínculos que permiten a los usuarios realizar acciones en filas determinadas. También resulta útil para mostrar columnas con valores calculados de las columnas enlazadas. Puede rellenar los valores de celda para las columnas calculadas en un controlador para el evento CellFormatting. Sin embargo, si está utilizando un DataSet o DataTable como origen de datos, podría desear utilizar la propiedad DataColumn.Expression para crear en su lugar una columna calculada. En este caso, el control DataGridView tratará la columna calculada como cualquier otra columna del origen de datos.

En modo de enlace no se admite la ordenación por columnas sin enlazar. Si crea una columna sin enlazar en modo de enlace que contiene valores que puede modificar el usuario, debe implementar el modo virtual para conservar estos valores cuando el control se ordena por una columna enlazada.

Virtual

Con el modo virtual, puede implementar sus propias operaciones de administración de datos. Esto es necesario para conservar los valores de las columnas sin enlazar en modo de enlace cuando las columnas enlazadas ordenan el control. Sin embargo, el uso principal del modo virtual es optimizar el rendimiento al interactuar con cantidades grandes de datos.

Asocie el control DataGridView a una caché que administre y el código controla cuando se insertan y se extraen las filas de datos. Para que la huella de la memoria sea pequeña, la caché debería ser similar en tamaño al número de filas mostrado. Cuando el usuario desplaza las nuevas filas a la vista, el código solicita los nuevos datos de la caché y opcionalmente vacía los datos antiguos de la memoria.

Si está implementando el modo virtual, necesitará saber si se necesita una nueva fila en el modelo de datos y si hay que deshacer la adición de la nueva fila. La implementación exacta de esta funcionalidad depende de la implementación del modelo de datos y de la semántica de la transacción del modelo de datos; por ejemplo, si el ámbito de confirmación se encuentra en el nivel de la celda o de la fila.

Para obtener más información sobre el modo virtual, vea Modo virtual del control DataGridView de formularios Windows Forms. Para obtener un ejemplo que muestra cómo utilizar los eventos de modo virtual, vea Tutorial: Implementar el modo virtual en el control DataGridView de formularios Windows Forms.

Vea también

Tareas

Tutorial: Crear un control DataGridView sin enlazar en formularios Windows Forms

Cómo: Enlazar datos al control DataGridView de formularios Windows Forms

Tutorial: Implementar el modo virtual en el control DataGridView de formularios Windows Forms

Conceptos

Tipos de columnas en el control DataGridView de formularios Windows Forms

Modo virtual del control DataGridView de formularios Windows Forms

Referencia

DataGridView

DataGridView.DataSource

DataGridView.VirtualMode

BindingSource

DataGridViewColumn.DataPropertyName

Otros recursos

Mostrar datos en el control DataGridView de formularios Windows Forms