Diferencias entre los controles DataGridView y DataGrid de formularios Windows FormsDifferences Between the Windows Forms DataGridView and DataGrid Controls

El DataGridView control es un control nuevo que reemplaza el DataGrid control.The DataGridView control is a new control that replaces the DataGrid control. El DataGridView control proporciona numerosas características básicas y avanzadas que faltan en el DataGrid control.The DataGridView control provides numerous basic and advanced features that are missing in the DataGrid control. Además, la arquitectura de la DataGridView control facilita mucho más fáciles de ampliar y personalizar que el DataGrid control.Additionally, the architecture of the DataGridView control makes it much easier to extend and customize than the DataGrid control.

En la tabla siguiente se describe algunas de las principales características disponibles en el DataGridView control que faltan en el DataGrid control.The following table describes a few of the primary features available in the DataGridView control that are missing from the DataGrid control.

Característica del control DataGridViewDataGridView control feature DescripciónDescription
Varios tipos de columnaMultiple column types El DataGridView control proporciona tipos de columna más integrados que el DataGrid control.The DataGridView control provides more built-in column types than the DataGrid control. Estos tipos de columna satisfacer las necesidades de los escenarios más comunes, pero también son más fáciles de ampliar o reemplazar a los tipos de columna en el DataGrid control.These column types meet the needs of most common scenarios, but are also easier to extend or replace than the column types in the DataGrid control. Para obtener más información, consulte tipos de columna en el DataGridView Control de Windows Forms.For more information, see Column Types in the Windows Forms DataGridView Control.
Varias formas de mostrar datosMultiple ways to display data El DataGrid control se limita a mostrar los datos desde un origen de datos externo.The DataGrid control is limited to displaying data from an external data source. El DataGridView control, sin embargo, puede mostrar datos independientes que se almacenan juntos en el control, datos de un origen de datos enlazados o datos dependientes e independientes.The DataGridView control, however, can display unbound data stored in the control, data from a bound data source, or bound and unbound data together. También puede implementar el modo virtual en el DataGridView control para proporcionar administración de datos personalizado.You can also implement virtual mode in the DataGridView control to provide custom data management. Para obtener más información, consulte modos de presentación de datos en el DataGridView Control de Windows Forms.For more information, see Data Display Modes in the Windows Forms DataGridView Control.
Varias formas de personalizar la visualización de datosMultiple ways to customize the display of data El DataGridView control proporciona muchas propiedades y eventos que le permiten especificar cómo se da formato y mostrar los datos.The DataGridView control provides many properties and events that enable you to specify how data is formatted and displayed. Por ejemplo, puede cambiar la apariencia de celdas, filas y columnas según los datos que contienen, o puede reemplazar los datos de un tipo de datos con datos equivalentes de otro tipo.For example, you can change the appearance of cells, rows, and columns depending on the data they contain, or you can replace data of one data type with equivalent data of another type. Para obtener más información, consulte formato de los datos en el DataGridView Control de formularios de Windows.For more information, see Data Formatting in the Windows Forms DataGridView Control.
Varias opciones para cambiar el comportamiento y apariencia de la celda, fila, columna y encabezadoMultiple options for changing cell, row, column, and header appearance and behavior El DataGridView control le permite trabajar con los componentes individuales de la cuadrícula de muchas formas.The DataGridView control enables you to work with individual grid components in numerous ways. Por ejemplo, puede inmovilizar filas y columnas para evitar que se desplacen; Ocultar filas, columnas y encabezados; cambiar la forma en que se ajustan los tamaños de fila, columna y encabezado; cambiar la forma en que los usuarios realizar selecciones; y proporcionan información sobre herramientas y menús contextuales para las columnas, filas y celdas individuales.For example, you can freeze rows and columns to prevent them from scrolling; hide rows, columns, and headers; change the way row, column, and header sizes are adjusted; change the way users make selections; and provide ToolTips and shortcut menus for individual cells, rows, and columns.

El DataGrid control se conserva por compatibilidad con versiones anteriores y para necesidades especiales.The DataGrid control is retained for backward compatibility and for special needs. Para casi todos los propósitos, debe usar el DataGridView control.For nearly all purposes, you should use the DataGridView control. La única característica que está disponible en el DataGrid control que no está disponible en el DataGridView control es la presentación jerárquica de información de dos tablas relacionadas en un único control.The only feature that is available in the DataGrid control that is not available in the DataGridView control is the hierarchical display of information from two related tables in a single control. Debe utilizar dos DataGridView controles para mostrar información de dos tablas que tienen una relación principal-detalle.You must use two DataGridView controls to display information from two tables that are in a master/detail relationship.

Actualización para el Control DataGridViewUpgrading to the DataGridView Control

Si tiene aplicaciones existentes que utilicen el DataGrid control en un escenario enlazado a datos sencillo sin personalizaciones, simplemente puede reemplazar el antiguo control con el nuevo control.If you have existing applications that use the DataGrid control in a simple data-bound scenario without customizations, you can simply replace the old control with the new control. Ambos controles utilizan la arquitectura de enlace de datos de Windows Forms estándar, por lo que el DataGridView control mostrará los datos enlazados no necesitan configuraciones adicionales.Both controls use the standard Windows Forms data-binding architecture, so the DataGridView control will display your bound data with no additional configuration needed. Es posible que desee considerar que aprovecha las mejoras de enlace de datos, sin embargo, al enlazar los datos a un BindingSource componente, que, a continuación, puede enlazar a la DataGridView control.You might want to consider taking advantage of data-binding improvements, however, by binding your data to a BindingSource component, which you can then bind to the DataGridView control. Para obtener más información, consulte componente BindingSource.For more information, see BindingSource Component.

Dado que el DataGridView control tiene una arquitectura totalmente nueva, no hay ninguna ruta de conversión sencilla que le permitirá usar DataGrid personalizaciones con el DataGridView control.Because the DataGridView control has an entirely new architecture, there is no straightforward conversion path that will enable you to use DataGrid customizations with the DataGridView control. Muchos DataGrid personalizaciones no son necesarios con el DataGridView controlar, sin embargo, debido a las funciones integradas disponibles en el nuevo control.Many DataGrid customizations are unnecessary with the DataGridView control, however, because of the built-in features available in the new control. Si ha creado tipos de columna personalizado para el DataGrid control que se va a usar con el DataGridView (control), tendrá que implementarlos de nuevo con la nueva arquitectura.If you have created custom column types for the DataGrid control that you want to use with the DataGridView control, you will have to implement them again using the new architecture. Para obtener más información, consulte personalizar el DataGridView Control de formularios de Windows.For more information, see Customizing the Windows Forms DataGridView Control.

Vea tambiénSee also