This documentation is archived and is not being maintained.

DetailsView.HeaderTemplate Property

Note: This property is new in the .NET Framework version 2.0.

Gets or sets the user-defined content for the header row in a DetailsView control.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

[TemplateContainerAttribute(typeof(DetailsView))] 
public virtual ITemplate HeaderTemplate { get; set; }
/** @property */
public ITemplate get_HeaderTemplate ()

/** @property */
public void set_HeaderTemplate (ITemplate value)

public function get HeaderTemplate () : ITemplate

public function set HeaderTemplate (value : ITemplate)

Property Value

A System.Web.UI.ITemplate that contains the custom content for the header row. The default value is a null reference (Nothing in Visual Basic), which indicates that this property is not set.

The header row is displayed at the top of the DetailsView control when the HeaderText or HeaderTemplate property is set. You can define your own custom user interface (UI) for the header row by using the HeaderTemplate property. To specify a custom template for the header row, first place <HeaderTemplate> tags between the opening and closing tags of the DetailsView control. You can then list the contents of the template between the opening and closing <HeaderTemplate> tags. To control the style of the header row, use the HeaderStyle property. Alternatively, you can simply display text in the header row by setting the HeaderText property instead of this property.

NoteNote

If both the HeaderText and HeaderTemplate properties are set, the HeaderTemplate property takes precedence.

The following code example demonstrates how to use the HeaderTemplate property to create a custom header row.


<%@ Page language="C#" %>

<script runat="server">

    void CustomerDetailView_ItemCreated(Object sender, EventArgs e)
  {
    
    // Get the header row.
      DetailsViewRow headerRow = CustomerDetailView.HeaderRow;

    // Get the Label control that displays the current page information 
    // from the header row.
    Label pageNum = (Label)headerRow.FindControl("PageNumberLabel");

    if(pageNum != null)
    {
      // Update the Label control with the current page number.
        int page = CustomerDetailView.DataItemIndex + 1;
      pageNum.Text = "Page " + page.ToString ();
    }
  }
  
</script>

<html>
  <body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView HeaderTemplate Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          autogeneraterows="true"
          allowpaging="true"
          onitemcreated="CustomerDetailView_ItemCreated"   
          runat="server">
               
          <headerstyle backcolor="Navy"
            forecolor="White"/>
            
          <pagersettings Mode="NextPreviousFirstLast"/>  
            
          <headertemplate>
          
            <table width="100%">            
              <tr>
                <td align="left">
                  <asp:Image id="LogoImage"
                    imageurl="~\images\Logo.jpg"
                    runat="server"/>
                </td>
                <td align="right" valign="bottom">
                  <asp:Label id="PageNumberLabel"
                    font-size="9"
                    forecolor="DodgerBlue"
                    runat="server"/>
                </td>
              </tr>            
            </table>
          
          </headertemplate>
                    
        </asp:detailsview>
        
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:SqlDataSource ID="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID],
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"

          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 
            [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0
Show: