Export (0) Print
Expand All
Expand Minimize

DetailsView.TopPagerRow Property

Gets a DetailsViewRow object that represents the top pager row in a DetailsView control.

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

[BrowsableAttribute(false)]
public virtual DetailsViewRow TopPagerRow { get; }

Property Value

Type: System.Web.UI.WebControls.DetailsViewRow
A DetailsViewRow that represents the top pager row in the DetailsView control.

When paging is enabled (by setting the AllowPaging property to true), an additional row called the pager row is automatically displayed in the DetailsView control. The pager row contains controls that allow the user to navigate to other records, and can be displayed at the top, the bottom, or both the top and bottom of the control. Use the TopPagerRow property to programmatically access the DetailsViewRow object that represents the top pager row in the DetailsView control.

NoteNote

The TopPagerRow property is available only after the DetailsView control creates the bottom pager row in the ItemCreated event.

This property is commonly used when you need to programmatically manipulate the top pager row, for example when adding custom content. Any modification to the TopPagerRow property must be performed after the DetailsView control has been rendered; otherwise, the DetailsView control will overwrite any changes.

The following code example demonstrates how to use the TopPagerRow property to access the top pager row of the DetailsView control during the ItemCreated event. Two Label controls within the custom pager row are then updated with the current page number and total number of pages.



<%@ 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">

    protected void CustomerDetailView_DataBound(object sender, EventArgs e)
    {

        // Get the pager row.
        DetailsViewRow pagerRow = CustomerDetailView.TopPagerRow;

        // Get the Label controls that display the current page information 
        // from the pager row.
        Label pageNum = (Label)pagerRow.Cells[0].FindControl("PageNumberLabel");
        Label totalNum = (Label)pagerRow.Cells[0].FindControl("TotalPagesLabel");

        if ((pageNum != null) && (totalNum != null))
        {
            // Update the Label controls with the current page values.
            int page = CustomerDetailView.DataItemIndex + 1;
            int count = CustomerDetailView.DataItemCount;

            pageNum.Text = page.ToString();
            totalNum.Text = count.ToString();
        }

    }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DetailsView TopPagerRow Example</title>
</head>
<body>
    <form id="Form1" runat="server">

      <h3>DetailsView TopPagerRow Example</h3>

        <!-- Notice that the LinkButton controls in the pager   -->
        <!-- template have their CommandName properties set.    -->
        <!-- The DetailsView control automatically recognizes   -->
        <!-- certain command names and performs the appropriate -->
        <!-- operation. In this example, the CommandName        -->
        <!-- properties are set to "Next" and "Prev", which     -->
        <!-- causes the DetailsView control to navigate to the  -->
        <!-- next and previous record, respectively.            -->        
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true" 
          allowpaging="true"
          runat="server" OnDataBound="CustomerDetailView_DataBound">

          <fieldheaderstyle backcolor="Navy"
            forecolor="White"/>

          <PagerSettings Position="top" /> 

          <pagertemplate>
            <table width="100%">
              <tr>
                <td>
                  <asp:LinkButton id="PreviousButton"
                    text="<"
                    CommandName="Page"
                    CommandArgument="Prev"
                    runat="Server"/>
                  <asp:LinkButton id="NextButton"
                    text=">"
                    CommandName="Page"
                    CommandArgument="Next"
                    runat="Server"/> 
                </td>
                <td align="right">                
                  Page <asp:Label id="PageNumberLabel" runat="server"/> 
                  of <asp:Label id="TotalPagesLabel" runat="server"/>                
                </td>
              </tr>
            </table>          
          </pagertemplate>   

        </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>



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Community Additions

ADD
Show:
© 2014 Microsoft