先截个图给大家看看,要实现的效果是什么样的,如下图:
这样的效果是在前台页面GridView控件代码中绑定出来了,就是将一段代码粘贴到gridview中会自动出现这种功能,而且这种效果除了跳转功能需要在后台cs文件中写代码,前面的都不需要。。。
Gridview控件绑定后台数据库,前台页面设计我就不多说,我主要说的是分页功能代码具体放在Gridview什么位置。前台gridview形如:
<asp:GridView>
<Columns></Columns>
</asp:GridView>
下面要将分页功能的代码粘贴到</Columns>在这里</asp:GridView>这俩个标签之间。具体代码示例:
<PagerTemplate> <div> 第 <asp:Label ID="lblPageIndex" runat="server" Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>"></asp:Label> 页 共 <asp:Label ID="lblPageCount" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageCount %>"></asp:Label> 页 <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First" CommandName="Page" Text="首页"></asp:LinkButton> <asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False" CommandArgument="Prev" CommandName="Page" Text="上一页"></asp:LinkButton> <asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" CommandArgument="Next" CommandName="Page" Text="下一页"></asp:LinkButton> <asp:LinkButton ID="btnLast" runat="server" CausesValidation="False" CommandArgument="Last" CommandName="Page" Text="尾页"></asp:LinkButton> <asp:TextBox ID="txtNewPageIndex" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageIndex + 1%>" Width="66px"></asp:TextBox> <asp:LinkButton ID="btnGoTo" runat="server" CommandArgument="-1" CommandName="Page" Text="跳转" OnClick="btnGoTo_Click"></asp:LinkButton> </div> </PagerTemplate>
只要是将这段代码附加到前台页面中,基本上就不用管了,“第多少页,共多少页,首页,上一页,下一页,尾页”,这些功能的实现就已经自动绑定了,无需再操作后台代码。。。
说一点,跳转功能,需要gridview控件绑定一个事件,就是PageIndexChanging事件,cs代码如下:
/// <summary> /// GridView分页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void GridView_PageIndexChanging(object sender, GridViewPageEventArgs e) { GridView.DataSource = (DataSet)ViewState["ds"]; if (e.NewPageIndex < 0) { if (int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) <= 0) { GridView.PageIndex = 0; } else { GridView.PageIndex = int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) - 1; } } else { GridView.PageIndex = e.NewPageIndex; } GridView.Visible = true; BindData_Registration(); }
跳转功能,还有一个就是跳转按钮的Click事件,代码如下:
/// <summary> /// 分页跳转 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGoTo_Click(object sender, EventArgs e) { GridView.DataSource = (DataSet)ViewState["ds"]; if (int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) >= GridView.PageCount) { GridView.PageIndex = GridView.PageCount - 1; } else { GridView.PageIndex = int.Parse(((TextBox)GridView.BottomPagerRow.FindControl("txtNewPageIndex")).Text) - 1; } BindData_Registration(); GridView.BottomPagerRow.Visible = true; }
如此,再加载运行您的程序,分页功能就可以使用了。。。
当然,也有很多的分页功能样式,如您自己喜欢,或者项目上的要求去实现吧。
一家之言,仅供参考!!!