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.

¿Fue útil?

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

  1. DataGrid fue presentado con Asp.Net 1.0.
  2. Para clasificar necesitamos manejar SortCommand event y requerir la cuadrícula de reverencia y para la paginación necesitamos manejar el PageIndexChanged eventy volver a unir la cuadrícula requerida.
  3. Necesidad de escribir código para implementar operaciones de Actualización y Eliminación.
  4. No admite funciones de formato o estilo automático.
  5. El rendimiento es rápido en comparación con GridView.

Vista en cuadrícula

  1. GridView se introdujo con Asp.Net 2.0.
  2. Soportes incorporados para Paging and Sorting.
  3. Soportes incorporados para Update and Delete operations.
  4. Admite funciones de estilo o formato automático.
  5. 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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top