APEX pagination:如何配置页面加载时拉取IG所有行数据
APEX IG组件调整分页加载行数/实现全量拉取配置方法
针对IG默认单页加载40行导致浏览器Ctrl+F无法检索全量数据的问题,可通过以下两种配置方案解决,全程不需要复杂二次开发:
方案1:调大初始单页加载行数(适配后续数据可能增长的场景)
- 打开对应页面的Page Designer设计器,鼠标选中需要调整的IG组件
- 在右侧属性面板定位到Pagination分组
- 找到
Rows per Page配置项,默认值为40,直接修改为大于你当前总返回行数的数值即可,比如你的场景填150就足够覆盖138行的返回量 - 如果需要保留给用户切换每页行数的入口,就把你设置的大数值追加到
Rows per Page Selector Values的可选列表里,不需要的话直接关闭Show Rows per Page Selector开关 - 保存页面后重新运行,首次加载就会拉取你设置的行数,所有返回内容都会渲染到页面DOM里,Ctrl+F可以直接检索到全部结果
方案2:开启全量拉取(适配固定小数据量场景,比如你当前百行级数据规模)
- 同样选中目标IG组件,找到右侧属性面板的Pagination分组
- 将
Pagination Type从默认的Page切换为Show All(部分低版本APEX叫Fetch All Rows) - 保存发布即可,组件会一次性拉取所有符合查询条件的行并渲染
注意:全量拉取仅推荐在总返回行数稳定在500行以内的场景使用,如果后续数据量上涨到千行以上,不要使用该方案,会明显拖慢页面加载速度,增加数据库查询压力。
旧版本APEX兜底配置(属性面板找不到对应选项时使用)
如果你的APEX版本较低,属性面板没有上述配置项,可以先给IG设置自定义静态ID(比如设置为target_ig),再给页面添加页面加载时执行的JavaScript代码:
// 把target_ig替换为你自己给IG设置的静态ID,数值改成你需要的单次加载行数 apex.region("target_ig").widget().interactiveGrid("option", "data.pageSize", 200);
如果需要强制全量拉取,把pageSize的数值设置为比你业务场景下最大可能返回行数更大的数即可。
内容的提问来源于stack exchange,提问作者VamC
相关产品推荐
相关产品推荐

