在查询列表页做分页功能是个常规操作了。但是这个分页具体怎么做,还是有点意思的。之前我偶尔做过分页,自己硬上,查询语句里加 offset,搞得自己很累。
这两天我有类似需求,做的时候网上搜了搜觉得下面这个做法挺好的,简单而且稳定。
话不多说,关键代码如下:
// 查询语句请自行脑补 (正常查询即可,无需自己加 offset)
String query = 'SELECT ... FROM ... WHERE ... ';
ApexPages.StandardSetController con = new ApexPages.StandardSetController(Database.getQueryLocator(query));
// 每页多少条
con.setPageSize(20);
// 当前返回第xx页
con.setPageNumber(xx);
// 获得当前页面数据
List<xxx> recordList = (List<xxx>) con.getRecords();
没有搞错,就是这样简单