TemplateField.HeaderTemplate Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece la plantilla que permite mostrar la sección de encabezado de un objeto TemplateField.
public:
virtual property System::Web::UI::ITemplate ^ HeaderTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.IDataItemContainer))]
public virtual System.Web.UI.ITemplate HeaderTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.IDataItemContainer))>]
member this.HeaderTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property HeaderTemplate As ITemplate
Valor de propiedad
Un objeto implementado por ITemplate que contiene la plantilla para mostrar la sección de encabezado de un objeto TemplateField en un control enlazado a datos. El valor predeterminado es null
, lo que indica que esta propiedad no se estableció.
- Atributos
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la HeaderTemplate propiedad para crear una plantilla personalizada para la sección de encabezado de una TemplateField columna de campo en un GridView control . La plantilla muestra una casilla que permite al usuario mostrar u ocultar las filas del GridView control.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void SelectAllCheckBox_CheckedChanged(Object sender, EventArgs e)
{
// Get the CheckBox control that indicates whether to show or
// hide the rows in the GridView control. The sender parameter
// contains the control that raised the event.
CheckBox showCheckBox = (CheckBox)sender;
// Show or hide the rows of the GridView control based
// on the check box value selected by the user.
if (showCheckBox.Checked)
{
ShowRows (true);
}
else
{
ShowRows (false);
}
}
void ShowRows(bool show)
{
// Iterate through the Rows collection of the GridView
// control and show or hide the rows based on the value
// of the show parameter.
foreach(GridViewRow row in AuthorsGridView.Rows)
{
row.Visible = show;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TemplateField HeaderTemplate Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TemplateField HeaderTemplate Example</h3>
<!-- Populate the Columns collection declaratively. -->
<!-- Create a TemplateField column field that contains -->
<!-- a CheckBox control in the header section to show or -->
<!-- hide the rows in the GridView control. -->
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="False"
width="250"
runat="server">
<columns>
<asp:templatefield>
<headerstyle backcolor="Navy"
forecolor="White"/>
<itemtemplate>
<%#Eval("au_fname")%>
<%#Eval("au_lname")%>
</itemtemplate>
<headertemplate>
<asp:checkbox id="ShowAllCheckBox"
text="Show All"
checked="True"
autopostback="true"
oncheckedchanged="SelectAllCheckBox_CheckedChanged"
runat="server"/>
</headertemplate>
</asp:templatefield>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_id], [au_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub SelectAllCheckBox_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
' Get the CheckBox control that indicates whether to show or
' hide the rows in the GridView control. The sender parameter
' contains the control that raised the event.
Dim showCheckBox As CheckBox = CType(sender, CheckBox)
' Show or hide the rows of the GridView control based
' on the check box value selected by the user.
If showCheckBox.Checked Then
ShowRows(True)
Else
ShowRows(False)
End If
End Sub
Sub ShowRows(ByVal show As Boolean)
' Iterate through the Rows collection of the GridView
' control and show or hide the rows based on the value
' of the show parameter.
Dim row As GridViewRow
For Each row In AuthorsGridView.Rows
row.Visible = show
Next
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TemplateField HeaderTemplate Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TemplateField HeaderTemplate Example</h3>
<!-- Populate the Columns collection declaratively. -->
<!-- Create a TemplateField column field that contains -->
<!-- a CheckBox control in the header section to show or -->
<!-- hide the rows in the GridView control. -->
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="False"
width="250"
runat="server">
<columns>
<asp:templatefield>
<headerstyle backcolor="Navy"
forecolor="White"/>
<itemtemplate>
<%#Eval("au_fname")%>
<%#Eval("au_lname")%>
</itemtemplate>
<headertemplate>
<asp:checkbox id="ShowAllCheckBox"
text="Show All"
checked="True"
autopostback="true"
oncheckedchanged="SelectAllCheckBox_CheckedChanged"
runat="server"/>
</headertemplate>
</asp:templatefield>
</columns>
</asp:gridview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_id], [au_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Comentarios
Utilice la HeaderTemplate propiedad para especificar el contenido personalizado que se muestra para la sección de encabezado de un TemplateField objeto. Defina el contenido mediante la creación de una plantilla que especifique cómo se representa la sección de encabezado.
Para especificar una plantilla, primero coloque las etiquetas de apertura y cierre <HeaderTemplate>
entre las etiquetas de apertura y cierre del <TemplateField>
elemento. A continuación, agregue el contenido personalizado entre las etiquetas de apertura y cierre <HeaderTemplate>
. El contenido puede ser tan simple como texto sin formato o más complejo (insertar otros controles en la plantilla, por ejemplo).
Para acceder mediante programación a un control definido en una plantilla, determine primero qué TableCell objeto del control enlazado a datos contiene el control. A continuación, use la Controls colección del TableCell objeto para acceder al control. También puede usar el FindControl método del TableCell objeto para buscar el control, si el control tiene una ID propiedad especificada.