zoukankan      html  css  js  c++  java
  • ASP.NET GridView利用PagerTemplate自定义分页

    前端:

    <asp:GridView ID="GridView1" runat="server" AllowPaging="True">
    <PagerTemplate>
    当前第:
    <%--//((GridView)Container.NamingContainer)就是为了得到当前的控件--%>
    <asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageIndex + 1 %>"></asp:Label>
    页/共:
    <%--//得到分页页面的总数--%>
    <asp:Label ID="LabelPageCount" runat="server" Text="<%# ((GridView)Container.NamingContainer).PageCount %>"></asp:Label>

    <%--//如果该分页是首分页,那么该连接就不会显示了.同时对应了自带识别的命令参数CommandArgument--%>
    <asp:LinkButton ID="LinkButtonFirstPage" runat="server" CommandArgument="First" CommandName="Page"
    Visible='<%#((GridView)Container.NamingContainer).PageIndex != 0 %>'>首页</asp:LinkButton>
    <asp:LinkButton ID="LinkButtonPreviousPage" runat="server" CommandArgument="Prev"
    CommandName="Page" Visible='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'>上一页</asp:LinkButton>
    <%--//如果该分页是尾页,那么该连接就不会显示了--%>
    <asp:LinkButton ID="LinkButtonNextPage" runat="server" CommandArgument="Next" CommandName="Page"
    Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>下一页</asp:LinkButton>
    <asp:LinkButton ID="LinkButtonLastPage" runat="server" CommandArgument="Last" CommandName="Page"
    Visible='<%# ((GridView)Container.NamingContainer).PageIndex != ((GridView)Container.NamingContainer).PageCount - 1 %>'>尾页</asp:LinkButton>
    转到第
    <asp:TextBox ID="txtNewPageIndex" runat="server" Width="20px" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>' />页
    <%--//这里将CommandArgument即使点击该按钮e.newIndex 值为3 --%>
    <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-2"
    CommandName="Page" Text="GO" />
    </PagerTemplate>
    </asp:GridView>

    C#后台

    // EmployeeGrid.PageIndex = e.NewPageIndex;
    // InitialGridView_EmployeeDirectory();
    // 得到该控件
    GridView theGrid = sender as GridView;
    int newPageIndex = 0;
    if (e.NewPageIndex == -3)
    {
    //点击跳转按钮
    TextBox txtNewPageIndex = null;

    //GridView较DataGrid提供了更多的API,获取分页块可以使用BottomPagerRow 或者TopPagerRow,当然还增加了HeaderRow和FooterRow
    GridViewRow pagerRow = theGrid.BottomPagerRow;

    if (pagerRow != null)
    {
    //得到text控件
    txtNewPageIndex = pagerRow.FindControl("txtNewPageIndex") as TextBox;
    }
    if (txtNewPageIndex != null)
    {
    //得到索引
    newPageIndex = int.Parse(txtNewPageIndex.Text) - 1;
    }
    }
    else
    {
    //点击了其他的按钮
    newPageIndex = e.NewPageIndex;
    }
    //防止新索引溢出
    newPageIndex = newPageIndex < 0 ? 0 : newPageIndex;
    newPageIndex = newPageIndex >= theGrid.PageCount ? theGrid.PageCount - 1 : newPageIndex;
    //得到新的值
    theGrid.PageIndex = newPageIndex;
    //重新绑定

    GridView绑定程序;

  • 相关阅读:
    LeetCode15 3Sum
    LeetCode10 Regular Expression Matching
    LeetCode20 Valid Parentheses
    LeetCode21 Merge Two Sorted Lists
    LeetCode13 Roman to Integer
    LeetCode12 Integer to Roman
    LeetCode11 Container With Most Water
    LeetCode19 Remove Nth Node From End of List
    LeetCode14 Longest Common Prefix
    LeetCode9 Palindrome Number
  • 原文地址:https://www.cnblogs.com/zyh-C/p/10722089.html
Copyright © 2011-2022 走看看