公司项目开发,上周的任务是做基础数据的管理。在Sharepoint2010里边内嵌asp.net的aspx页,遇到了各种各样奇葩的问题,因为之前对sharepoint只是有一些了解,但是没有设计到具体的编程工作,这一次算是初次接触吧。其中有一部分基础数据数据量很大,大致有十多万,因为是对基础数据的维护,所以还需要对数据进行列表展示,增删改查什么的,大家都知道Asp.net里边的GridView有自带的分页,但是,那个分页对于少量的数据还好,对于这种数十万的数据量而言,这种分页方式简直就是灾难。网上关于GridView高效分页的东西有很多,找了一个自己改了改。用着效果还不错,和大家分享一下。
这是分页的效果图
下边就讲一下具体的实现,首先声明,这个东西是不是我原创的,只是在此基础上进行了修饰和完善。希望能给各位有所启发。
一、前台布局
复制代码 代码如下:
<div>
<div>
<div>
<table>
<tr>
<td>
<asp:Label runat="server" Text="姓名"></asp:Label></td>
<td>
<asp:TextBox runat="server"></asp:TextBox>
</td>
<td>
<asp:Button runat="server" Text="查询" CommandName="search" />
</td>
<td>
<asp:Button runat="server" Text="重置" />
</td>
</tr>
</table>
</div>
<div>
<asp:GridView runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField HeaderText="用户名">
<ItemTemplate>
<asp:Label runat="server" Text='<%#Eval("username") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="单位名称">
<ItemTemplate>
<asp:Label runat="server" Text='<%#Eval("displayname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="组织编码">
<ItemTemplate>
<asp:Label runat="server" Text='<%#Eval("orgcode") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="组织名称">
<ItemTemplate>
<asp:Label runat="server" Text='<%#Eval("orgname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
<div>
<table>
<tr>
<td>
<asp:Label runat="server" Text="当前页:"></asp:Label>
<asp:Label runat="server" Text=""></asp:Label>
<asp:Label runat="server" Text="https://www.jb51.net/"></asp:Label>
<asp:Label runat="server" Text=""></asp:Label>
</td>
<td>
<asp:Label runat="server" Text="总条数:"></asp:Label>
<asp:Label runat="server" Text=""></asp:Label>
</td>
<td>
<asp:Button runat="server" CommandName="" Text="首页" />
<asp:Button runat="server" CommandName="prev" Text="上一页"
/>
<asp:Button runat="server" CommandName="next" Text="下一页" />
<asp:Button runat="server" CommandName="last" Text="尾页"
key="last" />
</td>
<td>
<asp:Label runat="server" Text="跳转到第"></asp:Label>
<asp:TextBox runat="server"></asp:TextBox>
<asp:Label runat="server" Text="页"></asp:Label>
<asp:Button runat="server" Text="跳转" CommandName="jump" />
</td>
</tr>
</table>
</div>
</div>
</div>
布局的效果如下:
二、后台的代码实现
我会一点一点向大家讲解清楚,这个分页的原理
Members:这里主要定义几个全局的变量,主要用来记录信息的数量、页的数量和当前页
复制代码 代码如下: