请高手给一个:高效分页代码/程序.或好的方法
感激不尽!如程序在这里帖不出来,请好心的高手帮我发到致谢!

解决方案 »

  1.   

    请参考:
    http://www.xproer.com/web/article/data.aspx?aid=174&cid=14&aname=%u4E0A%u4E0B%u9875%u5206%u9875%u7B97%u6CD5%u8BB2%u89E3&atime=2007-4-23 13:02:54&alook=123&author=Xproer或者下载XproerBBS源码,已经开源,上面都有分页算法。
    由于空间比较小我将它上传到了QQ空间上
    QQ群号:6259764两个文件
    FoxBBS 论坛源代码
    images 论坛图片文件,将它他们解压到同一个目录中,推荐解压到FoxBBS文件夹中开发环境:Microsoft .NET Framework1.1
    语言:C#.NET 1.1
    数据库: ACCESS论坛地址:www.xproer.com/bbs/index.html说明:
    由于论坛项目是使用我本地的路径,所以如果下载下来后直接打开项目的话可能会出现路径错误。
    我本地设置如下
    c:\wwwroot\FoxBBS\下载后最好能建一个FoxBBS 文件夹,然后将 FoxBBS 时面的所有文件解决到 FoxBBS 文件夹里面XproerBBS简介:
    http://www.xproer.com/bbs/thread-3-606.aspx
    XproerBBS如何后台管理:
    http://www.xproer.com/bbs/thread-3-602.aspx
    XproerBBS学习教程-数据库配置:
    http://www.xproer.com/bbs/thread-3-605.aspx
    XproerBBS文件说明:
    http://www.xproer.com/bbs/thread-3-613.aspx
    XproerBBS文件夹结构图:
    http://www.xproer.com/bbs/thread-3-614.aspx
    XproerBBS数据表结构图:
    http://www.xproer.com/bbs/thread-3-617.aspx
    XproerBBS存储过程:
    http://www.xproer.com/bbs/thread-3-610.aspx
    XproerBBS视图:
    http://www.xproer.com/bbs/thread-3-611.aspx
    XproerBBS存储过程调用实例:(每天10个更新)
    http://www.xproer.com/bbs/thread-3-612.aspx
    manage文件夹说明(含文件)
    http://www.xproer.com/bbs/thread-3-622.aspx
    js文件夹说明(含文件)
    http://www.xproer.com/bbs/thread-3-623.aspx
    Operate文件夹说明(前台管理,含文件)
    http://www.xproer.com/bbs/thread-3-624.aspx
    USControls文件夹说明(用户控件,含文件)
    http://www.xproer.com/bbs/thread-3-625.aspx
      

  2.   

    你要在哪裡分頁?DataGrid裡嗎?請說清楚需求,樓上的是1.1,已經過時了。你可以看http://www.obout.com/grid/,看是否你所需要的,完全免費,有Demo和源碼。
      

  3.   

    我用的VS2005+SQL啊.
    请高手帮忙弄一个2.0版的.
    谢谢!
      

  4.   

    http://topic.csdn.net/t/20061203/02/5202559.html
    其实这方面,网上很多的,但是你要根据自己的需要修改。
      

  5.   

    分页最好是在存储过程里分。在代码中分比较复杂,如果是在Grid里边分,那不如不分。
      

  6.   

    通用 高效
    http://blog.csdn.net/hertcloud/category/281167.aspx而且很好修改成特定的分页.
      

  7.   

    我现在经理有限,已经不玩什么“高效分页”了,都使用asp.net现成的。用户如果觉得当翻开50万行以后的内容是有点慢,那么我会告诉他“我有那么多缩小查询范围的查询条件你可以随便使用一两个”。加快分页的列表的显示速度,还可以使用数据缓存、用户控件缓存,这个方面可以让原来的页面显示速度成倍增加。
      

  8.   

    试试我写的免费开源分页控件AspNetPager,有详细的示例和源码可以下载:http://www.webdiyer.com
      

  9.   

    webdiyer 开发的AspNetPager控件挺好用的,去试试吧!
      

  10.   

    hertcloud(·£孙子兵法£·) 
    老哥的那个我看的不太懂啊,我是初学者啊!
    我的现在用的是一个Repeater控件,有对显示的一万多条记录进行分页.
    请老歌就按你的法帮忙搞个实例在你的博客里面,我去下载照猫画虎的学习一下.
    感谢!
      

  11.   

    其实跟Web里面的DataGrid分页差不多的,更确切的说要比Web里面更简单一些,这就要看你对分页的原理了不了解了。可以用微软提供的DataGrid控件来解决分页问题,不需要使用第三方控件。
    楼主可以先到我的小论坛去熟悉一下分页的基本概念。(显示帖子页面,查看回复页面)
    www.xproer.com/bbs
    然后我再跟你讲解一下目前最简单的一种分页方法。通常我们为了考虑分页SQL语句的性能,最好使用四个按钮来实现分页。
    首页,上一页,下一页,尾页
    这四个按钮事件内部分页用四条SQL语句来实现从数据库中读取相应的数据。通常我们的数据表中有ID列,这个基本上是用来分页的。如果我们的数据显示形式是从最新的到最旧的显示方式:
    ID显示:
    100
    99
    98
    97
    96
    95
    94
    93
    92
    91
    90
    89
    88
    87
    86
    85
    84
    83毫无疑问,首页是前10条(假设一页显示10条数据)是从100开始到91,这个SQL最简单:select top 10 from Table1 order by ID DESC        (这个这是首页的SQL语句)那么下一页就是ID要比91小的前10条数据,select top 10 from Table1 where ID<@ID order by ID DESC   (这是下一页SQL语句)尾页SQL语句也是超简单select top 10 from Table1 order by ID ASC          (这个是尾页)上一页SQL语句select top 10 from Table1 where ID>@ID order by ID DESC  (上一页SQL语句)好了,基本分页SQL语句搞定了,那么重要的就是如何取到这些ID值,我们可以将数据读取前台,通过JS获取这些相应的ID值,然后传给服务端控件,这样我们就可以轻松的实现分页了。 
      
    基本上这算得上是最简单的分页了同时也是效率最高的,因为还有一些SQL语句,比如
    select top @PageSize * from (select top @DataCount * from AdminTB order by ID ASC)a order by ID DESC;");原理:
    假设有30条数据:
    1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30现在我们要取中间的10条数据,则SQL语句要这样写
    select top 10 * from (select top 20 * from AdminTB order by ID ASC) order by ID DESC;");
    实际上的效果如下
    (1,2,3,4,5,6,7,8,9,[ 10,11,12,13,14,15,16,17,18,19,20 ]),21,22,23,24,25,26,27,28,29,30select top 20 * from AdminTB order by ID ASC是取得 () 部分数据
    select top 10 * from (select top 20 * from AdminTB order by ID ASC) order by DESC;取得是 [] 部分。这下明白了吧不过遗憾的是这种分页是效率最低的,因为 @DataCount 会随着你的数据增加而增大,所以我们提倡用第一种,也就是我上面讲的。