Compartir a través de


Información general sobre DetailsView (Control de servidor Web)

Actualización: noviembre 2007

El control DetailsView muestra un solo registro de un origen de datos en una tabla, donde cada fila de datos representa un campo en el registro. Se utiliza a menudo en combinación con un control GridView para los escenarios de principal-detalle.

Este tema contiene:

  • Información general

  • Ejemplos de código

  • Referencia de clase

Información general

El control DetailsView permite mostrar, editar, insertar o eliminar un solo registro por vez de su origen de datos asociado. De forma predeterminada, el control DetailsView muestra cada campo de un registro en su propia línea. El control DetailsView se utiliza normalmente para actualizar e insertar los nuevos registros, a menudo en un escenario detallado o más general en el que el registro seleccionado del control principal determina el registro que se va a mostrar en el control DetailsView. El control DetailsView muestra solamente un único registro de datos por vez, aunque su origen de datos exponga varios registros.

El control DetailsView se basa en las funciones del control de origen de datos para realizar tareas como actualizar, insertar o eliminar registros. El control DetailsView no admite la función de ordenación.

El control DetailsView puede paginar automáticamente los datos en su origen de datos asociado, siempre que los datos estén representados mediante un objeto que admita la interfaz ICollection o que el origen de datos subyacente admita la paginación. El control DetailsView proporciona la interfaz de usuario para navegar entre los registros de datos. Para habilitar la función de paginación, establezca la propiedad AllowPaging en true.

Puede seleccionar un registro concreto del origen de datos asociado mediante la paginación de dicho registro. El registro mostrado por el control DetailsView es el registro seleccionado actual.

Enlace de datos con el control DetailsView

El control DetailsView proporciona estas opciones para enlazar los datos:

  • Se pueden enlazar datos mediante la propiedad DataSourceID, que permite enlazar el control DetailsView a un control de origen de datos. Éste es el enfoque recomendado, ya que permite al control DetailsView aprovechar de las funciones del control de origen de datos y proporcionar una funcionalidad integrada para la actualización y paginación.

  • Se pueden enlazar datos mediante la propiedad DataSource, que permite establecer enlaces a distintos objetos, incluidos los lectores de datos y los conjuntos de datos de ADO.NET. Este enfoque requiere que se escriba código para cualquier función adicional, como por ejemplo actualización y paginación.

Cuando establece un enlace a un origen de datos mediante la propiedad DataSourceID, el control DetailsView admite el enlace de datos bidireccional. Además de que el control muestre los datos, puede permitir que el control admita automáticamente las operaciones de inserción, actualización y eliminación de los datos enlazados.

Trabajar con los datos del control DetailsView

El control DetailsView se enlaza a un control de origen de datos que, a su vez, controla las tareas de conexión a un almacén de datos y devuelve los datos seleccionados. La operación de enlazar el control DetailsView a datos es tan simple como definir la propiedad DataSourceID de forma declarativa. También puede establecer un enlace al origen de datos en el código.

Para habilitar la edición, establezca la propiedad AutoGenerateEditButton en true. El control DetailsView representará a continuación un botón Editar además de los campos de datos. Al hacer clic en el botón Editar, el control DetailsView pasa al modo de edición. En el modo de edición, la propiedad CurrentMode del control DetailsView cambia de ReadOnly a Edit y cada campo del control representa su interfaz de usuario de edición, como un cuadro de texto o una casilla. También puede personalizar la interfaz de usuario de edición utilizando estilos, objetos DataControlField y plantillas.

Nota:

Para que el control DetailsView admita la función de edición, el origen de datos enlazado debe admitir las operaciones de actualización de los datos.

Puede configurar el control DetailsView para que muestre un botón Suprimir y un botón Insertar de modo que pueda eliminar el registro correspondiente del origen de datos o insertar un nuevo registro de datos. Al igual que la propiedad AutoGenerateEditButton, cuando la propiedad AutoGenerateInsertButton se establece en true en el control DetailsView, se representa un botón Nuevo. Cuando se hace clic en el botón Nuevo, la propiedad CurrentMode del control DetailsView cambia a Insert. El control DetailsView representa los controles de entrada de la interfaz de usuario adecuados para cada campo enlazado, a menos que la propiedad InsertVisible del campo enlazado se establezca en false.

Personalizar la interfaz de usuario del control DetailsView

El control DetailsView admite una propiedad de la colección Fields que contiene objetos DataControlField de tipo BoundField, CommandField o HyperLinkField. Su funcionamiento es similar al de la colección Columns del control GridView, sólo que el control DetailsView representa cada campo como una fila en lugar de como una columna.

Al igual que con el control GridView, puede personalizar la interfaz de usuario del control DetailsView utilizando propiedades de estilo como HeaderStyle, RowStyle, AlternatingRowStyle, CommandRowStyle, FooterStyle, PagerStyle y EmptyDataRowStyle.

El control DetailsView permite realizar otras personalizaciones a través de plantillas, lo que le proporciona más control sobre la representación de ciertos elementos. Puede definir sus propias propiedades EmptyDataTemplate, HeaderTemplate, FooterTemplate y PagerTemplate en el control DetailsView. También puede crear una plantilla para un campo individual agregando un objeto TemplateField a la colección Fields.

El control DetailsView dispone de varios eventos que puede controlar para ejecutar su propio código. Los eventos se provocan antes y después de que se produzcan las operaciones de inserción, actualización y eliminación del control de origen de datos asociado. También puede escribir controladores para los eventos ItemCreated y ItemCommand. Para obtener más información, vea Eventos del control DetailsView de servidor Web.

Nota:

El modelo de evento del control DetailsView es similar al del control GridView. Sin embargo, el control DetailsView no admite un evento de selección, porque el registro actual siempre es el elemento seleccionado.

Volver al principio

Ejemplos de código

Tutorial: Editar e insertar datos en páginas Web con el control de servidor Web DetailsView

Tutorial: Recuperar, actualizar, insertar y eliminar datos con los controles LinqDataSource y DetailsView

Paginación en un control de servidor Web DetailsView

Modificar datos mediante un control DetailsView de servidor Web

Crear una fila personalizada en un control de servidor Web DetailsView

Volver al principio

Referencia de clase

En la tabla siguiente se enumeran las clases clave que se relacionan con el control DetailsView.

Miembro

Descripción

DetailsView

Clase principal del control.

Volver al principio

Vea también

Conceptos

Eventos del control DetailsView de servidor Web

Información general sobre el acceso a datos en ASP.NET

Plantillas de controles de servidor Web ASP.NET

Referencia

Información general sobre GridView (Control de servidor Web)

Otros recursos

Obtener acceso a datos con ASP.NET