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