DetailsView.HeaderRow Свойство

Определение

Возвращает объект DetailsViewRow, представляющий строку верхнего колонтитула в элементе управления DetailsView.Gets a DetailsViewRow object that represents the header row in a DetailsView control.

public:
 virtual property System::Web::UI::WebControls::DetailsViewRow ^ HeaderRow { System::Web::UI::WebControls::DetailsViewRow ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.DetailsViewRow HeaderRow { get; }
[<System.ComponentModel.Browsable(false)>]
member this.HeaderRow : System.Web.UI.WebControls.DetailsViewRow
Public Overridable ReadOnly Property HeaderRow As DetailsViewRow

Значение свойства

DetailsViewRow

DetailsViewRow, представляющий строку верхнего колонтитула в элементе управления DetailsView.A DetailsViewRow that represents the header row in a DetailsView control.

Атрибуты

Примеры

В следующем примере кода показано, как использовать HeaderRow свойство для доступа к строке заголовка DetailsView элемента управления во время ItemCreated события.The following code example demonstrates how to use the HeaderRow property to access the header row of the DetailsView control during the ItemCreated event. LabelПосле этого элемент управления в строке настраиваемого заголовка обновляется текущим номером страницы.A Label control within the custom header row is then updated with the current page number.


<%@ 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 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 xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView HeaderTemplate Example</title>
</head>
<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"
                    AlternateText="Our logo" 
                    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>


<%@ 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 CustomerDetailView_ItemCreated(ByVal sender As Object, _
        ByVal e As EventArgs)
        ' Get the header row.
        Dim headerRow As DetailsViewRow = CustomerDetailView.HeaderRow

        ' Get the Label control that displays the current page information 
        ' from the header row.
        Dim pageNum As Label = _
            CType(headerRow.FindControl("PageNumberLabel"), Label)

        If Not pageNum Is Nothing Then
    
            ' Update the Label control with the current page number.
            Dim page As Integer = CustomerDetailView.DataItemIndex + 1
            pageNum.Text = "Page " & page.ToString()
    
        End If
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView HeaderTemplate Example</title>
</head>
<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"
                    AlternateText="Our logo" 
                    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>

Комментарии

Строка заголовка отображается в верхней части DetailsView элемента управления, когда HeaderText HeaderTemplate свойство или задано.The header row is displayed at the top of the DetailsView control when the HeaderText or HeaderTemplate property is set. Используйте HeaderRow свойство для программного доступа к DetailsViewRow объекту, который представляет строку заголовка.Use the HeaderRow property to programmatically access the DetailsViewRow object that represents the header row.

Примечание

HeaderRowСвойство доступно только после того, как DetailsView элемент управления создаст строку заголовка в ItemCreated событии.The HeaderRow property is available only after the DetailsView control creates the header row in the ItemCreated event.

Это свойство часто используется, когда необходимо программно управлять строкой заголовка, например при добавлении пользовательского содержимого.This property is commonly used when you need to programmatically manipulate the header row, for example when adding custom content. Любое изменение HeaderRow свойства должно выполняться после DetailsView подготовки элемента управления к просмотру; в противном случае DetailsView элемент управления перезапишет любые изменения.Any modification to the HeaderRow property must be performed after the DetailsView control has been rendered; otherwise, the DetailsView control will overwrite any changes.

Применяется к

См. также раздел