Udostępnij za pośrednictwem


TemplateField.HeaderTemplate Właściwość

Definicja

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ść.

Dotyczy

Zobacz też