加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[VB.NET]DataGrid控件中分页时,每页显示最多十页索引,其他为

发布时间:2020-12-16 23:44:36 所属栏目:大数据 来源:网络整理
导读:DataGrid控件中分页时,每页显示最多十页索引,其他为"..." 号,怎么该这10页啊? 就是 "1 2 3 4 5 6 7 8 9 10 ... " 怎么让他多显几页啊?上一页 下一页 能不能插入到他的左右两边啊 像百度图片那样: “首页 上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

DataGrid控件中分页时,每页显示最多十页索引,其他为"..." 号,怎么该这10页啊?
就是 "1 2 3 4 5 6 7 8 9 10 ... "
怎么让他多显几页啊?上一页 下一页 能不能插入到他的左右两边啊
像百度图片那样:

“首页 上一页 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 下一页 尾页 "

我只能写成这样“
"1 2 3 4 5 6 7 8 9 10 ... "下面再写 且只会写到10页
"首页 上一页 下一页 尾页 "
没办法让他们在一行吗?
小弟学的是vb.net,办法吗?
__________________________________________________________________________
可以用表格,手动控制输出分页...按照你想要的顺序输出..

或者是将控制页数的放在一个DIV中..也可以....
__________________________________________________________________________
简单来说,就是自己写Response.Write( " 上一页 "); 之类. 不过麻烦点...__________________________________________________________________________我也在为此问题发愁呢,哪位专家给解决一下。__________________________________________________________________________其实跟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,[ 10,20 ]),30 select 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 会随着你的数据增加而增大,所以我们提倡用第一种,也就是我上面讲的。 __________________________________________________________________________up __________________________________________________________________________看看下面这篇文章,我相信你能找到答案。 http://blog.csdn.net/zjysource/archive/2007/06/10/1646443.aspx__________________________________________________________________________

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读