前言
做数据展示难免会碰到分页的问题。在Salesforce中,数据分页不是很困难的事情,笔者在这里抽出来单独聊一下。
介绍
在这里笔者介绍几种常用的方式:
- SQL分页 — 采用LIMIT和OFFSET
- StandardSetController 分页 — 采用标准控制器
其中SQL分页的方式直接简单,但是OFFSET受到限制,最大值为2000。话说这个限制好坑的...; StandardSetController 分页不会有2000的限制。所以在接口方案中我们可以采用这一种方式来避免限制问题。并且这种方式在常用的Controller中也是可以去使用的。
例子
下面是一个抽象的Service:
public class PagingService {
private ApexPages.StandardSetController ssc;
public PagingService(String sql) {
this.ssc = new ApexPages.StandardSetController(Database.getQueryLocator(sql));
}
/**
*@Function: 首页
*
*/
public Map<String, Object> first() {
this.ssc.first();
return this.getData();
}
/**
*@Function: 尾页
*
*/
public Map<Strin