lunes, 6 de enero de 2014

Crear una columna personalizada en un control de servidor Web GridView

El GridView control puede generar automáticamente las columnas de los campos proporcionados por la fuente de datos. Además, puede crear una colección de columnas que se mostrará en lugar de generarlas automáticamente. Sin embargo, puede encontrarse con un escenario en el que es necesario personalizar cómo se muestra una columna individual. En ese caso, puede crear un TemplateField para especificar un diseño de columna personalizado.
1.      Creación de plantillas
A TemplateField objeto le permite especificar plantillas que contienen marcado y controles para personalizar el diseño y el comportamiento de una columna en un GridView control. El uso de un ItemTemplate , puede especificar el diseño que se utilizará cuando las GridView muestra los datos en una columna. Para especificar diseño personalizado cuando los usuarios editar datos de una columna, puede crear un EditItemTemplate .
Su plantilla puede contener el marcado, los controles de servidor Web y botones de comando. Para obtener más información sobre las plantillas, consulte Servidor Web ASP.NET Plantillas de controles
2.      De enlace de datos en una plantilla
En una plantilla, puede enlazar controles a datos utilizando los Eval y Bind métodos. Se utiliza la Eval método cuando el control sólo mostrará valores. Se utiliza el Bind método cuando los usuarios pueden modificar un valor de los datos es, para escenarios de actualización de datos. Usted puede utilizar el Eval método en cualquiera de las plantillas para mostrar los datos. Se utiliza el Bind método en una plantilla con controles en los que los usuarios pueden cambiar valores, como TextBox y CheckBox controles, o una plantilla que permite un registro que desea borrar. Para obtener más información, consulte el enlace de datos Información general sobre expresiones .
3.      Ejemplo
El siguiente ejemplo muestra el Columns colección de un GridView control. La colección contiene una TemplateField objeto, que a su vez contiene un ItemTemplate objeto. Para mostrar una fecha, el ItemTemplate incluye una etiqueta de control que utiliza el Eval método. Para editar una fecha, las otras plantillas utilizan un calendario de control que utiliza el Bind método.
VB

<columnas>                  
  <Asp: BoundField DataField = "EmployeeID" HeaderText = "ID de empleado"  ReadOnly = "true" />                   
  <Asp: BoundField DataField = "Nombre"   HeaderText = "Nombre" />
  <Asp: BoundField DataField = "Apellido"    HeaderText = "Apellido" />                   
  <Asp: TemplateField HeaderText = "Fecha de nacimiento" >
    <ItemTemplate>
      <Asp: Label ID = "BirthDateLabel" runat = "Servidor" 
                 Text = '<% # Eval ("fecha de nacimiento", "{0: d}")%>' />
    </ ItemTemplate>
    <EditItemTemplate>
      <Asp: Calendar ID = "EditBirthDateCalendar" runat = "Servidor"
                    VisibleDate = '<% # Eval ("fecha de nacimiento")%>'
                    SelectedDate = '<% # Bind ("fecha de nacimiento")%>' />
    </ EditItemTemplate>
  </ Asp: TemplateField>  
  <Asp: HyperLinkField Text = "Mostrar

</ Columns> 

0 comentarios:

Publicar un comentario