详情:
http://blog.csdn.net/fengsh998/archive/2010/11/04/5988053.aspx网上好多分页都是写SQL,或用存储过程。当三层的时候每次取数据都要重新执行一次SQL或存储过程。于是:我写了个缓存分页,可以方便的在客户端实现浏览,同时内部有自动刷新后端数据机制。
排序,等功能。如有些朋友想在DBGRID上显示哪种,上一页,下一页,最后一页,第一页,跳到XX页,的这些功能时,用这个控件。就会满足咯。
http://blog.csdn.net/fengsh998/archive/2010/11/04/5988053.aspx网上好多分页都是写SQL,或用存储过程。当三层的时候每次取数据都要重新执行一次SQL或存储过程。于是:我写了个缓存分页,可以方便的在客户端实现浏览,同时内部有自动刷新后端数据机制。
排序,等功能。如有些朋友想在DBGRID上显示哪种,上一页,下一页,最后一页,第一页,跳到XX页,的这些功能时,用这个控件。就会满足咯。
http://download.csdn.net/source/2808922DLEPHI 控件。目前发现在支持BDS2006 原版的DBX操作ORACLE时,有BUG。
同样会存在因内存开销过大而导致崩溃,不过相对于CLIETNDATASET的哪个内存表来说,还是比CLIENTDATASET的内存空间要大得多。
如果有高手提出更好的算法来查找,哪自然最好了。小弟水平有限,不过分页是出来了。
2、已经全部取到本地,dbgrid随意滚 还是 按页号显示——楼主好像指的是这个?
这个 dbgrid1.datasource.dataset.moveby(页号*行数/页) 就行了
实现原理:建立一个临时表两个字段存储ROWID,ROWNUM,每次查询将将所有数据放入临时表,当查询条件改变时清空临时表数据,再将数据放入临时表。每次从临时表读取固定的页数的数据进行显示