Salesforce 分页
来源:互联网 发布:渐变颜色搭配的数据 编辑:程序博客网 时间:2024/05/21 06:33
前言
做数据展示难免会碰到分页的问题。在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<String, Object> last() { this.ssc.last(); return this.getData(); } /** *@Function: 下一页 * */ public Map<String, Object> next() { this.ssc.next(); return this.getData(); } /** *@Function: 上一页 * */ public Map<String, Object> previous() { this.ssc.previous(); return this.getData(); } /** *@Function: 根据当前页数获取数据 * */ private Map<String, Object> getData() { List<Object> data = this.ssc.getRecords(); Map<String, Object> result = new Map<String, Object>(); result.put('currentPage', this.ssc.getPageNumber()); result.put('pageSize', this.ssc.getPageSize()); result.put('actualSize', data.size()); result.put('data', data); result.put('hasNext', this.ssc.getHasNext()); result.put('hasPrevious', this.ssc.getHasPrevious()); return result; } /** *@Function: 设置当前页数 * */ public void setPageNumber(Integer pageNumber) { this.ssc.setPageNumber(pageNumber); } /** *@Function: 设置当前每页数据量 * */ public void setPageSize(Integer pageSize) { this.ssc.setPageSize(pageSize); } /** *@Function: 获取指定页数的数据 * */ public Map<String, Object> goto(Integer pageNumber) { this.setPageNumber(pageNumber); return this.getData(); }}
在这里笔者枚举了常用的一些方法,有额外需要的朋友可以在getData中添加需要的数据列。
心得
Salesforce对分页的封装还是比较好的,常用的基本都有。不过对于Ajax请求的分页,前台采用actionFunction的方式会好一些。
采用SQL分页时使用ORDER BY关键字是较好的选择,这样就会严格的按照序列返回,否则可能会导致和预期不相符。
阅读全文
0 0
- salesforce 分页
- Salesforce 分页
- 65、salesforce的数据分页
- SalesForce
- SalesForce
- SalesForce
- Salesforce
- Salesforce
- Salesforce 简介
- my salesforce
- Salesforce公司简介
- Salesforce Function
- Salesforce知识点
- salesforce json
- Salesforce travel
- salesforce 推送
- Salesforce Site
- Salesforce権限設定
- 初学四旋翼之遥控
- C# 反射 通过类名创建类实例
- 基于SSM整合的分页
- springMVC和mybatis整合
- 二分图匹配 匈牙利算法 hdu 4185
- Salesforce 分页
- c++类型转换
- LA 4726 斜率DP
- android studio 使用git
- C# 反射机制
- 小希的迷宫
- no valid rapl domans found in package
- linux块设备驱动(一)——块设备概念介绍
- 项目路径修改,项目名称修改