TemplateField.HeaderTemplate Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia szablon do wyświetlania sekcji nagłówka TemplateField obiektu.
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
Wartość właściwości
Obiekt ITemplateimplementowany , który zawiera szablon do wyświetlania sekcji nagłówka TemplateField obiektu w kontrolce powiązanej z danymi. Wartość domyślna to null
, która wskazuje, że ta właściwość nie jest ustawiona.
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak za pomocą HeaderTemplate właściwości utworzyć szablon niestandardowy dla sekcji nagłówka TemplateField kolumny pola w kontrolce GridView . Szablon wyświetla pole wyboru umożliwiające użytkownikowi wyświetlanie lub ukrywanie wierszy kontrolki GridView .
<%@ 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>
Uwagi
HeaderTemplate Użyj właściwości , aby określić niestandardową zawartość wyświetlaną TemplateField dla sekcji nagłówka obiektu. Zdefiniuj zawartość, tworząc szablon określający sposób renderowania sekcji nagłówka.
Aby określić szablon, najpierw umieść tagi otwierające i zamykające między tagami otwierania i zamykania <HeaderTemplate>
<TemplateField>
elementu. Następnie dodaj zawartość niestandardową między tagami otwierania i zamykania <HeaderTemplate>
. Zawartość może być prosta jak zwykły tekst lub bardziej złożona (na przykład osadzanie innych kontrolek w szablonie).
Aby programowo uzyskać dostęp do kontrolki zdefiniowanej w szablonie, najpierw określ, który TableCell obiekt w kontrolce powiązanej z danymi zawiera kontrolkę. Następnie użyj Controls kolekcji TableCell obiektu, aby uzyskać dostęp do kontroli. Możesz również użyć FindControl metody TableCell obiektu, aby znaleźć kontrolkę, jeśli kontrolka ma ID określoną właściwość.