TemplateField.HeaderTemplate Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает шаблон для отображения верхнего колонтитула объекта 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
Значение свойства
Реализованный объект ITemplate, содержащий шаблон для отображения верхнего колонтитула элемента управления, привязанного к данным TemplateField. Значение по умолчанию — "null
", указывающее, что это свойство не задано.
- Атрибуты
Примеры
В следующем примере кода показано, как использовать HeaderTemplate свойство для создания настраиваемого шаблона для раздела заголовка TemplateField столбца поля в элементе GridView управления. В шаблоне отображается флажок, позволяющий пользователю отображать или скрывать строки 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>
Комментарии
HeaderTemplate Используйте свойство, чтобы указать пользовательское содержимое, отображаемое для раздела заголовка TemplateField объекта. Определите содержимое, создав шаблон, указывающий способ отрисовки раздела заголовка.
Чтобы указать шаблон, сначала следует открывать и закрывать <HeaderTemplate>
теги между открывающим и закрывающим тегами <TemplateField>
элемента. Затем добавьте пользовательское содержимое между открывающим и закрывающим <HeaderTemplate>
тегами. Содержимое может быть таким же простым, как обычный текст или более сложным (например, внедрение других элементов управления в шаблон).
Для программного доступа к элементу управления, определенному в шаблоне, сначала определите, какой TableCell объект в элементе управления с привязкой к данным содержит элемент управления. Затем используйте Controls коллекцию TableCell объекта для доступа к элементу управления. Можно также использовать FindControl метод TableCell объекта для поиска элемента управления, если элемент управления имеет указанное ID свойство.