jueves, 23 de septiembre de 2010

¿Qué control enlazado a datos y cuándo?

Control

Paginación

Empty

CRUD

Seleccionar

Registros

Html

Repeater

No

No

No

No

1

No

DetailsView

No

1

Sí (tabla)

FormView

No

1

No

DataList

No

Update, Delete.

Varios

No

ListView

Varios

No

 

Repeater

  • Ventajas
    • Salida html totalmente personalizada.
    • Plantilla para cada elemento (header, footer, separator, etc.)
  • Desventajas
    • No tiene una plantilla de no hay registros, pero esto se soluciona aquí http://www.flixon.com/Articles/18.aspx
    • No admite paginación
    • Su SmarTag no genera automáticamente nada
    • Es one-way data binding, es decir, no admite Bind
  • Escenarios
    • Mostrar 1 registro en sólo-lectura (se aconseja mejor que DetailsView y FormView porque Repeater es más ligero)
    • Mostrar n registros en sólo-lectura siempre que no sean muchos ya que no pagina
    • Mostrar 1 o n registros en sólo-lectura con un alto grado de personalización

DetailsView

  • Ventajas
    • Salida html predeterminada
    • Admite paginación
    • Es two-way data binding
    • Su SmarTag genera automáticamente los BoundField necesarios
    • CRUD completo
  • Desventajas
    • No tiene plantilla para el elemento activo (sólo tiene para header, footer, etc.), se rige por BoundFields
    • CRUD automático según el control origen de datos
  • Escenarios
    • Mostrar 1 registro, con independencia del CRUD requerido
    • Mostrar n registros, con independencia del CRUD requerido, ya que permite paginación
    • Maestro-detalle en conjunción con GridView o similar

FormView

  • Ventajas
    • Salida html totalmente personalizada
    • Admite paginación
    • Es two-way data binding
    • Su SmarTag genera automáticamente las plantillas necesarias
    • CRUD completo
  • Desventajas
    • CRUD automático según el control origen de datos
  • Escenarios
    • Mostrar 1 registro, con independencia del CRUD requerido
    • Mostrar n registros, con independencia del CRUD requerido, ya que permite paginación
    • Mostrar 1 o n registros, , con independencia del CRUD requerido, ya que permite paginación y en los que es necesario un alto grado de personalización
    • Maestro-detalle en conjunción con GridView o similar

DataList

  • Ventajas
    • Salida html totalmente personalizada
    • Es two-way data binding
    • Su SmarTag genera automáticamente las plantillas necesarias
    • Orientación vertical u horizontal
  • Desventajas
    • No admite paginación
    • CRUD parcial (no admite inserción)
  • Escenarios
    • Mostrar n registros, con CRUD limitado y cuidado ya que no permite la paginación

ListView

  • Ventajas
    • Salida html totalmente personalizada
    • Es two-way data binding
    • Su SmarTag genera automáticamente las plantillas necesarias
    • Soporte agrupación
    • Admite paginación
    • CRUD completo
  • Desventajas
    • CRUD automático según el control origen de datos
  • Escenarios
    • Mostrar n registros, con CRUD completo, con paginación y con un alto grado de personalización.

Como curiosidad, se puede ver como Telerik y su control RadGrid intentan emular el comportamiento de un ListView http://demos.telerik.com/aspnet-ajax/grid/examples/programming/listview/defaultcs.aspx

Si quieres ampliar información sobre el control ListView, he escrito este otro post donde cuento porqué es a mi juicio, el mejor y más configurable de los controles enlazados a datos.

Un saludo!

No hay comentarios:

Publicar un comentario