GridView高效分页和搜索功能的实现代码

公司项目开发,上周的任务是做基础数据的管理。在Sharepoint2010里边内嵌asp.net的aspx页,遇到了各种各样奇葩的问题,因为之前对sharepoint只是有一些了解,但是没有设计到具体的编程工作,这一次算是初次接触吧。其中有一部分基础数据数据量很大,大致有十多万,因为是对基础数据的维护,所以还需要对数据进行列表展示,增删改查什么的,大家都知道Asp.net里边的GridView有自带的分页,但是,那个分页对于少量的数据还好,对于这种数十万的数据量而言,这种分页方式简直就是灾难。网上关于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>

布局的效果如下:

GridView高效分页和搜索功能的实现代码

二、后台的代码实现

我会一点一点向大家讲解清楚,这个分页的原理

Members:这里主要定义几个全局的变量,主要用来记录信息的数量、页的数量和当前页

复制代码 代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjdyfj.html