TemplateField.HeaderTemplate Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define o modelo para mostrar a secção do cabeçalho de um TemplateField objeto.
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 Propriedade
Um ITemplateobjeto -implementado que contém o modelo para exibir a secção do cabeçalho de a TemplateField num controlo data-bound. O padrão é null, o que indica que esta propriedade não está definida.
- Atributos
Exemplos
O exemplo de código seguinte demonstra como usar a HeaderTemplate propriedade para criar um modelo personalizado para a secção de cabeçalho de uma TemplateField coluna de campo num GridView controlo. O modelo apresenta uma caixa de seleção que permite ao utilizador mostrar ou esconder as linhas do GridView controlo.
<%@ 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>
Observações
Use a HeaderTemplate propriedade para especificar o conteúdo personalizado apresentado para a secção do cabeçalho de um TemplateField objeto. Defina o conteúdo criando um modelo que especifique como a secção do cabeçalho é renderizada.
Para especificar um modelo, primeiro coloca as etiquetas de abertura e fecho <HeaderTemplate> entre as etiquetas de abertura e fecho do <TemplateField> elemento. De seguida, adiciona o conteúdo personalizado entre as etiquetas de abertura e fecho <HeaderTemplate> . O conteúdo pode ser tão simples como texto simples ou mais complexo (incorporar outros controlos no modelo, por exemplo).
Para aceder programaticamente a um controlo definido num modelo, determina primeiro qual TableCell o objeto no controlo ligado a dados que contém o controlo. De seguida, use a Controls coleção do TableCell objeto para aceder ao controlo. Também pode usar o FindControl método do TableCell objeto para encontrar o controlo, se o controlo tiver uma ID propriedade especificada.