GridView分页的实现

要在GridView中加入

//实现分页

AllowPaging="true"

//一页数据10行

PageSize="10"

// 分页时触发的事件 OnPageIndexChanging="gvwDesignationName_PageIndexChanging"

在服务器事件里

复制代码
复制代码
protected void gvwDesignationName_PageIndexChanging( object sender, GridViewPageEventArgs e) { gvwDesignationName.PageIndex = e.newIndex;
bingDesignatioonName(); }
复制代码
复制代码

这里我给出一个通用显示分页的模板(网上搜的,自己给出注释)

复制代码
Code <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>
复制代码

对应该事件中代码为

 

复制代码
Code protectedvoid gvwDesignationName_PageIndexChanging(object sender, GridViewPageEventArgs e)     {         // 得到该控件        GridView theGrid = sender as GridView;         int newPageIndex =0;         if (e.NewPageIndex==-3)         {             //点击了Go按钮            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;                  //重新绑定        bingDesignatioonName();     }
复制代码

转载于:https://www.cnblogs.com/jiangnini/p/3403881.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值