调用apex.submit("PROCESS1")后Interactive Grid未刷新问题排查
Apex Submit后Interactive Grid不刷新的原因及解决办法
为什么会出现这个问题
apex.submit("PROCESS1") 只会触发页面提交、执行指定的服务器端流程,但它本身不会自动触发Interactive Grid(IG)的AJAX数据刷新。IG的数据加载是独立的异步请求,除非有明确的刷新指令,否则提交后不会主动重新拉取最新数据。
解决办法
1. 给PROCESS1流程添加后处理刷新动作
直接在PROCESS1的后处理步骤里,新增一个「刷新区域」的动作,选择你的IG所在的区域。这样流程执行完成后,服务器会自动通知前端刷新IG,不用额外写JS代码。
2. 用JS回调手动刷新IG
如果不想改流程配置,换用带回调的apex.submit写法,在提交成功后调用IG的刷新方法:
apex.submit({ request: "PROCESS1", success: function() { // 替换成你的IG静态ID(在组件属性中查看) const igWidget = apex.region("YOUR_IG_STATIC_ID").widget(); igWidget.interactiveGrid("refresh"); } });
3. 全局配置页面提交后刷新IG
在页面属性的「提交后」设置中,把「刷新区域」指定为你的IG区域。这种方式会让所有页面提交操作(包括apex.submit)都自动刷新该IG,适合需要全局刷新的场景。
注意事项
- 先确认PROCESS1流程确实正确修改了IG对应的数据源数据,不然即使刷新也看不到变化。
- 如果IG设置了服务器端过滤或显示条件,刷新时要确保这些条件仍能匹配到更新后的数据。
内容的提问来源于stack exchange,提问作者Coding Duchess
相关产品推荐
相关产品推荐

