zoukankan      html  css  js  c++  java
  • GridView自定义分页

    在GridView里加上如下代码:
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnDataBound="GridView1_DataBound" OnPageIndexChanging="GridView1_PageIndexChanging" AllowPaging="True" PageSize="15">
            ... ...
            <PagerTemplate>
                <asp:LinkButton ID="FirstButton" Text="首页" CommandName="Page" CommandArgument="First"
                    runat="Server" ForeColor="White" />
                <asp:LinkButton ID="LinkButton1" Text="上一页" CommandName="Page" CommandArgument="Prev"
                    runat="Server" ForeColor="White" />
                <asp:LinkButton ID="LinkButton2" Text="下一页" CommandName="Page" CommandArgument="Next"
                    runat="Server" ForeColor="White" />
                <asp:LinkButton ID="LastButton" Text="末页" CommandName="Page" CommandArgument="Last"
                    runat="Server" ForeColor="White" />
                <asp:TextBox ID="txtPageNum" runat="server" Width="30px"></asp:TextBox>
                <asp:Button ID="btnGo" runat="server" Text="转到" OnClick="btnGo_Click" />
                页次:&nbsp;<asp:Label ID="lblCurPage" runat="server" />/<asp:Label ID="lblTotalPage"
                    runat="server" />
            </PagerTemplate>
        </asp:GridView>
    代码页加上如下的代码:

        protected void GridView1_DataBound(object sender, EventArgs e)
        {
            GridViewRow pagerRow = GridView1.BottomPagerRow;
            if (pagerRow == null) return;
            Label curPage = (Label)(pagerRow.Cells[0].FindControl("lblCurPage"));
            Label totalPage = (Label)(pagerRow.Cells[0].FindControl("lblTotalPage"));
            TextBox txtPageNum = (TextBox)(pagerRow.Cells[0].FindControl("txtPageNum"));
            int pn = GridView1.PageIndex + 1;
            curPage.Text = pn.ToString();
            totalPage.Text = GridView1.PageCount.ToString();
            txtPageNum.Text = pn.ToString();

        }

    //如果是数据源是XXXDataSource类的就不用这个事件;如果是自定义的数据源就得加上这个。注意:得用DataTable、DataView才行,像DataReader是不可以的。
        protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GridView1.PageIndex = e.NewPageIndex >= 0 ? e.NewPageIndex : 0;
            GridView1.DataBind();
        }

        protected void btnGo_Click(object sender, EventArgs e)
        {
            GridViewRow pagerRow = GridView1.BottomPagerRow;
            TextBox pageNum = (TextBox)(pagerRow.Cells[0].FindControl("txtPageNum"));
            int pa = 0;
            if (Int32.TryParse(pageNum.Text, out pa))
            {
                GridView1.PageIndex = pa - 1;
            }
        }

  • 相关阅读:
    RabbitMQ之六种队列模式
    面试资料
    位掩码的介绍与使用(小白鼠试毒问题)
    递归函数的写法(以strcpy函数为例)
    查找算法简介及实现
    八大排序算法概述及实现
    快速排序算法(一)
    最大(小)堆和堆排序简介
    满二叉树各种节点数目的计算
    LPSTR、LPCSTR、LPWSTR、LPCWSTR、LPTSTR、LPCTSTR的来源及意义
  • 原文地址:https://www.cnblogs.com/Aricc/p/1340356.html
Copyright © 2011-2022 走看看