本文为大家详细介绍下GridView实现分页并自定义的分页样式具体示例代码如下有想学习的朋友可以参考下哈希望对大家有所帮助 GridView分页的实现 复制代码 代码如下: 要在GridView中加入 //实现分页 AllowPaging="true" //一页数据行 PageSize="" // 分页时触发的事件 OnPageIndexChanging="gvwDesignationName_PageIndexChanging" 在服务器事件里 复制代码 代码如下: protectedvoid gvwDesignationName_PageIndexChanging(object sender GridViewPageEventArgs e) { gvwDesignationNamePageIndex=enewIndex; bingDesignatioonName(); } 这里我给出一个通用显示分页的模板(网上搜的自己给出注释) 复制代码 代码如下: <PagerTemplate> 当前第: //((GridView)ContainerNamingContainer)就是为了得到当前的控件 <asp:Label ID="LabelCurrentPage" runat="server" Text="<%# ((GridView)ContainerNamingContainer)PageIndex + %>"></asp:Label> 页/共: //得到分页页面的总数 <asp:Label ID="LabelPageCount" runat="server" Text="<%# ((GridView)ContainerNamingContainer)PageCount %>"></asp:Label> 页 //如果该分页是首分页那么该连接就不会显示了同时对应了自带识别的命令参数CommandArgument <asp:LinkButton ID="LinkButtonFirstPage" runat="server" CommandArgument="First" CommandName="Page" Visible=<%#((GridView)ContainerNamingContainer)PageIndex != %>>首页</asp:LinkButton> <asp:LinkButton ID="LinkButtonPreviousPage" runat="server" CommandArgument="Prev" CommandName="Page" Visible=<%# ((GridView)ContainerNamingContainer)PageIndex != %>>上一页</asp:LinkButton> //如果该分页是尾页那么该连接就不会显示了 <asp:LinkButton ID="LinkButtonNextPage" runat="server" CommandArgument="Next" CommandName="Page" Visible=<%# ((GridView)ContainerNamingContainer)PageIndex != ((GridView)ContainerNamingContainer)PageCount %>>下一页</asp:LinkButton> <asp:LinkButton ID="LinkButtonLastPage" runat="server" CommandArgument="Last" CommandName="Page" Visible=<%# ((GridView)ContainerNamingContainer)PageIndex != ((GridView)ContainerNamingContainer)PageCount %>>尾页</asp:LinkButton> 转到第 <asp:TextBox ID="txtNewPageIndex" runat="server" Width="px" Text=<%# ((GridView)ContainerParentParent)PageIndex + %> />页 //这里将CommandArgument即使点击该按钮enewIndex 值为 <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="" CommandName="Page" Text="GO" /> </PagerTemplate> 对应该事件中代码为 复制代码 代码如下: protected void gvwDesignationName_PageIndexChanging(object sender GridViewPageEventArgs e) { // 得到该控件 GridView theGrid = sender as GridView; int newPageIndex = ; if (eNewPageIndex==) { //点击了Go按钮 TextBox txtNewPageIndex = null; //GridView较DataGrid提供了更多的API获取分页块可以使用BottomPagerRow 或者TopPagerRow当然还增加了HeaderRow和FooterRow GridViewRow pagerRow = theGridBottomPagerRow; if (pagerRow != null) { //得到text控件 txtNewPageIndex = pagerRowFindControl("txtNewPageIndex") as TextBox; } if ( txtNewPageIndex!= null) { //得到索引 newPageIndex = intParse(txtNewPageIndexText) ; } } else { //点击了其他的按钮 newPageIndex = eNewPageIndex; } //防止新索引溢出 newPageIndex = newPageIndex < ? : newPageIndex; newPageIndex = newPageIndex >= theGridPageCount ? theGridPageCount : newPageIndex; //得到新的值 theGridPageIndex = newPageIndex; //重新绑定 bingDesignatioonName(); } |