找了好久没有找到,今天一气之下写了个分页控件。

边缘998 2010-11-04 07:40:36
详情:
http://blog.csdn.net/fengsh998/archive/2010/11/04/5988053.aspx



网上好多分页都是写SQL,或用存储过程。当三层的时候每次取数据都要重新执行一次SQL或存储过程。

于是:我写了个缓存分页,可以方便的在客户端实现浏览,同时内部有自动刷新后端数据机制。
排序,等功能。

如有些朋友想在DBGRID上显示哪种,上一页,下一页,最后一页,第一页,跳到XX页,的这些功能时,用这个控件。就会满足咯。

...全文
342 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
边缘998 2010-11-12
  • 打赏
  • 举报
回复
RowNum这种效率上来说还可以,现在考虑的是查询上和数据从远程传输到本地的效率问题。细究D底层发现很多都是用游标来做的。这里控件完全辟开了ROWNUM分页的特性。
亮剑_ 2010-11-12
  • 打赏
  • 举报
回复
支持分享

分页还是基于数据库(存储过程)实现好一些,至于并发时的性能问题,控件还是有啊
taste品味 2010-11-09
  • 打赏
  • 举报
回复
最近也在做分页,用的是ORACLE数据库,两层。
实现原理:建立一个临时表两个字段存储ROWID,ROWNUM,每次查询将将所有数据放入临时表,当查询条件改变时清空临时表数据,再将数据放入临时表。每次从临时表读取固定的页数的数据进行显示
weizhixun 2010-11-09
  • 打赏
  • 举报
回复
好,试试,感谢LZ
haitao 2010-11-05
  • 打赏
  • 举报
回复
全部取到本地

1、取的方法是 一次性取 还是 背景分页取(前者会假死n秒钟;后者立即返回前1页)——楼主好像不是指这个分页?
2、已经全部取到本地,dbgrid随意滚 还是 按页号显示——楼主好像指的是这个?
这个 dbgrid1.datasource.dataset.moveby(页号*行数/页) 就行了
somemak 2010-11-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 sz_haitao 的回复:]
既然已经全部加载到前端了,怎么叫分页呢?
[/Quote]

此分页非彼分页也。。。
边缘998 2010-11-05
  • 打赏
  • 举报
回复
比方说吧,现在 有20万条数据,如果select * from XX 一次取回20万条,放在DBGRID里,是不是要拖动鼠标到最后一条呀?如果按上下键,哪不累死人?

我这个分页用来指定每页规定的页数。点下一页的时候才会翻页显数据,否则DBGRID里就只能显示指定的条数。也可以用GOTO 跳到指定页,当然数据量大的情况下,也不太建议用GOTO。效率不是很好。
如果有高手提出更好的算法来查找,哪自然最好了。小弟水平有限,不过分页是出来了。
sunyesy 2010-11-05
  • 打赏
  • 举报
回复
不错 支持!
cohye 2010-11-05
  • 打赏
  • 举报
回复
楼主精神值得学习
  • 打赏
  • 举报
回复
支持自曝,不过我也有sz_haitao的疑问。
denny8509 2010-11-05
  • 打赏
  • 举报
回复
学习了。。。
haitao 2010-11-05
  • 打赏
  • 举报
回复
既然已经全部加载到前端了,怎么叫分页呢?
ecjtu5208 2010-11-05
  • 打赏
  • 举报
回复
喝口水 2010-11-05
  • 打赏
  • 举报
回复
支持一下楼主的开发精神,好东西都是逼出来的
边缘998 2010-11-05
  • 打赏
  • 举报
回复
非一次性取,MOVEBY也确实好用。
边缘998 2010-11-04
  • 打赏
  • 举报
回复
原来其实很简单,就是在客户端自行管理内存。
同样会存在因内存开销过大而导致崩溃,不过相对于CLIETNDATASET的哪个内存表来说,还是比CLIENTDATASET的内存空间要大得多。

iamduo 2010-11-04
  • 打赏
  • 举报
回复
讲一下实现原理啊。
学习学习。
Dision LI 2010-11-04
  • 打赏
  • 举报
回复
边缘998 2010-11-04
  • 打赏
  • 举报
回复
控件下载地址
http://download.csdn.net/source/2808922

DLEPHI 控件。目前发现在支持BDS2006 原版的DBX操作ORACLE时,有BUG。

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧