TemplateField.HeaderTemplate Propiedad

Definición

Obtiene o establece la plantilla que permite mostrar la sección de encabezado de un objeto TemplateField.Gets or sets the template for displaying the header section of a TemplateField object.

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; }
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.A ITemplate-implemented object that contains the template for displaying the header section of a TemplateField in a data-bound control. El valor predeterminado es null, lo que indica que esta propiedad no se estableció.The default is null, which indicates that this property is not set.

Atributos

Ejemplos

En el ejemplo de código siguiente se muestra cómo HeaderTemplate utilizar la propiedad para crear una plantilla personalizada para la sección de TemplateField encabezado de una columna GridView de campo en un control.The following code example demonstrates how to use the HeaderTemplate property to create a custom template for the header section of a TemplateField field column in a GridView control. La plantilla muestra una casilla que permite al usuario Mostrar u ocultar las filas del GridView control.The template displays a check box that allows the user to show or hide the rows of the 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 TemplateField encabezado de un objeto.Use the HeaderTemplate property to specify the custom content displayed for the header section of a TemplateField object. Defina el contenido mediante la creación de una plantilla que especifica cómo se representa la sección de encabezado.Define the content by creating a template that specifies how the header section is rendered.

Para especificar una plantilla, coloque primero las etiquetas <HeaderTemplate> <TemplateField> de apertura y cierre entre las etiquetas de apertura y cierre del elemento.To specify a template, first place opening and closing <HeaderTemplate> tags between the opening and closing tags of the <TemplateField> element. A continuación, agregue el contenido personalizado entre las etiquetas de <HeaderTemplate> apertura y cierre.Next, add the custom content between the opening and closing <HeaderTemplate> tags. El contenido puede ser tan simple como texto sin formato o más complejo (incrustar otros controles en la plantilla, por ejemplo).The content can be as simple as plain text or more complex (embedding other controls in the template, for example).

Para tener acceso mediante programación a un control definido en una plantilla, primero TableCell debe determinar qué objeto del control enlazado a datos contiene el control.To programmatically access a control defined in a template, first determine which TableCell object in the data-bound control contains the control. A continuación, use Controls la colección TableCell del objeto para obtener acceso al control.Next, use the Controls collection of the TableCell object to access the control. También puede utilizar el FindControl método TableCell del objeto para buscar el control, si el control tiene una ID propiedad especificada.You can also use the FindControl method of the TableCell object to find the control, if the control has an ID property specified.

Se aplica a

Consulte también: