¿La diferencia entre DataGrid y GridView en ASP.NET?
-
08-06-2019 - |
Pregunta
He estado desarrollando ASP.NET por un tiempo y he usado los controles GridView y DataGrid antes para varias cosas, pero nunca pude encontrar una buena razón para usar uno u otro.Me gustaría saber:
¿Cuál es la diferencia entre estos 2 controles ASP.NET?¿Cuáles son las ventajas o desventajas de ambos?¿Es uno más rápido?¿Más nuevo?¿Más fácil de mantener?
El resumen de Intellisense para los controles no parece describir ninguna diferencia entre los dos.Ambos pueden ver, editar y ordenar datos y generar columnas automáticamente en tiempo de ejecución.
Editar: Visual Studio 2008 ya no incluye DataGrid como control disponible en la caja de herramientas.Sin embargo, todavía está disponible (supongo que para soporte heredado) si lo escribes a mano.
Solución
DataGrid era un control ASP.NET 1.1, todavía compatible.GridView llegó en 2.0, simplificó ciertas tareas y agregó diferentes funciones de enlace de datos:
Este enlace tiene una comparación de las características de DataGrid y GridView:
https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx
Otros consejos
El GridView
El control es el sucesor del DataGrid
control.Como el DataGrid
controlar el GridView
El control fue diseñado para mostrar datos en una tabla HTML.Cuando se vincula a una fuente de datos, el DataGrid
y GridView
controla cada pantalla una fila de una DataSource
como una fila en una tabla de salida.
Ambos DataGrid
y GridView
Los controles se derivan de la WebControl
clase.Aunque tiene un modelo de objeto similar al del DataGrid
control, el control GridView también tiene una serie de nuevas características y ventajas sobre el DataGrid
control, que incluyen:
- Capacidades más ricas en tiempo de diseño.
- Capacidades mejoradas de vinculación de fuentes de datos.
- Manejo automático de clasificación, paginación, actualizaciones y eliminaciones.
- Tipos de columnas adicionales y operaciones de columnas en tiempo de diseño.
- Una interfaz de usuario (UI) de buscapersonas personalizada con la propiedad PagerTemplate.
Diferencias entre los GridView
controlar y el DataGrid
control incluyen:
- Soporte de paginación personalizada diferente.
- Diferentes modelos de eventos.
La clasificación, paginación y edición in situ de datos requiere codificación adicional cuando se utiliza el DataGrid
control.El GridView
El control le permite agregar capacidades de clasificación, paginación y edición sin escribir ningún código.En su lugar, puede automatizar estas tareas, junto con otras tareas comunes, como el enlace de datos a un origen de datos, estableciendo propiedades en el control.
DataGrid estaba originalmente en .NET 1.0.GridView se introdujo (y reemplazó a DataGrid) en .NET 2.0.Proporcionan una funcionalidad casi idéntica.
Si está trabajando en Visual Studio 2008/.NET 3.5, probablemente no debería utilizar ninguno de los dos.Utilice ListView: le brinda las funciones de GridView combinadas con la flexibilidad de estilo de un repetidor.
La diferencia clave está en el IIRC de gestión de ViewState.DataGrid requiere que ViewState esté activado para tener capacidades de edición y clasificación.
Una diferencia clave en cuanto a seguridad es que DataGrid usa BoundColumn, que no codifica Html los datos enlazados.Tampoco existe ninguna propiedad para activar o desactivar HtmlEncoding, por lo que debe hacerlo de alguna manera en el código.
GridView usa BoundField, que realiza HtmlEncode de forma predeterminada en los datos enlazados y tiene una propiedad HtmlEncode si necesita desactivarla.
Cuadrícula de datos
DataGrid
fue presentado conAsp.Net 1.0
.- Para clasificar necesitamos manejar
SortCommand event
y requerir la cuadrícula de reverencia y para la paginación necesitamos manejar elPageIndexChanged event
y volver a unir la cuadrícula requerida. - Necesidad de escribir código para implementar operaciones de Actualización y Eliminación.
- No admite funciones de formato o estilo automático.
- El rendimiento es rápido en comparación con
GridView
.
Vista en cuadrícula
- GridView se introdujo con
Asp.Net 2.0
. - Soportes incorporados para
Paging and Sorting
. - Soportes incorporados para
Update and Delete operations
. - Admite funciones de estilo o formato automático.
- El rendimiento es lento en comparación con
DataGrid
.
El events
y properties
como Item
ha cambiado como Row
.
Por ejemplo,
ItemCommand - RowCommand
ItemDataBound - RowDataBound
e.Item.ItemType - e.Row.RowType
alguna diferencia básica entre vista de cuadrícula y vista de detalles
El control GridView también tiene una serie de nuevas características y ventajas sobre el control DataGrid, que incluyen:
· Capacidades de tiempo de diseño más ricas.· Capacidades mejoradas de vinculación de fuentes de datos.· Manejo automático de clasificación, paginación, actualizaciones y eliminaciones.· Tipos de columnas adicionales y operaciones de columnas en tiempo de diseño.· Una interfaz de usuario (UI) de buscapersonas personalizada con la propiedad PagerTemplate.
Las diferencias entre el control GridView y el control DataGrid incluyen:· Diferente soporte de paginación personalizada.· Diferentes modelos de eventos.
Una de las diferencias es la salida HTML.Una cuadrícula de datos generará TD para el encabezado y una vista de cuadrícula generará TH.Esto puede provocar cambios poco intuitivos en la pantalla.