DetailsView.TopPagerRow Özellik

Tanım

Denetimdeki DetailsViewRow en üst çağrı cihazı satırını temsil eden bir DetailsView nesne alır.

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

Özellik Değeri

DetailsViewRow Denetimdeki en üst sayfalayıcı satırını DetailsView temsil eden bir.

Öznitelikler

Örnekler

Aşağıdaki kod örneği, olay sırasında ItemCreated denetimin TopPagerRow en üst çağrı cihazı satırına erişmek için özelliğinin DetailsView nasıl kullanılacağını gösterir. Ardından özel çağrı aracı satırındaki iki Label denetim geçerli sayfa numarası ve toplam sayfa sayısıyla güncelleştirilir.


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

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

    Protected Sub CustomerDetailView_DataBound(ByVal sender As Object, ByVal e As EventArgs)
        ' Get the pager row.
        Dim pagerRow As DetailsViewRow = CustomerDetailView.TopPagerRow

        ' Get the Label controls that display the current page information 
        ' from the pager row.
        Dim pageNum As Label = CType(pagerRow.Cells(0).FindControl("PageNumberLabel"), Label)
        Dim totalNum As Label = CType(pagerRow.Cells(0).FindControl("TotalPagesLabel"), Label)

        If (pageNum IsNot Nothing) And (totalNum IsNot Nothing) Then
            ' Update the Label controls with the current page values.
            Dim page As Integer = CustomerDetailView.DataItemIndex + 1
            Dim count As Integer = CustomerDetailView.DataItemCount

            pageNum.Text = Page.ToString()
            totalNum.Text = count.ToString()
        End If
    End Sub

    </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 "Page"                       -->
        <!-- and the CommandArgument                            -->
        <!-- 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>

Açıklamalar

Disk belleği etkinleştirildiğinde (özelliği trueolarak ayarlanarakAllowPaging), denetimde DetailsView disk belleği satırı olarak adlandırılan ek bir satır otomatik olarak görüntülenir. Çağrı cihazı satırı, kullanıcının diğer kayıtlara gitmesine olanak sağlayan denetimler içerir ve denetimin en üstünde, altında veya hem üstünde hem de altında görüntülenebilir. Denetimin TopPagerRow en üstteki çağrı cihazı satırını DetailsView temsil eden nesneye program aracılığıyla erişmek DetailsViewRow için özelliğini kullanın.

Not

TopPagerRow özelliği yalnızca denetim olayda DetailsView alt sayfalayıcı satırını oluşturduğunda ItemCreated kullanılabilir.

Bu özellik, örneğin özel içerik eklerken en üstteki çağrı cihazı satırını program aracılığıyla işlemeniz gerektiğinde yaygın olarak kullanılır. Özellikte TopPagerRow yapılan tüm değişiklikler, denetim işlendikten DetailsView sonra gerçekleştirilmelidir; aksi takdirde, DetailsView denetim tüm değişikliklerin üzerine yazar.

Şunlara uygulanır

Ayrıca bkz.