You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ORACLE APEX 20.2 交互式网格列值赋值页项后无法传递到模态页如何解决

Oracle APEX 20.2 Interactive Grid值传递到模态页失败解决方案

核心原因

1. 会话状态未同步

你通过前端JS给页项P8205_ID_MOD_SELECTED赋值仅修改了客户端的页项值,没有将值同步到APEX服务端会话状态。默认打开模态页时APEX读取的是服务端存储的会话状态值,而非客户端最新修改的值,这是该场景下最常见的问题。

2. 模态页调用/配置错误

  • 打开模态页的按钮/链接的传参配置有误,源项和目标模态页的接收项绑定错误
  • 目标模态页的接收页项开启了会话状态保护,禁止通过URL参数赋值
  • 若你需要传递多选IG的ID值,现有JS逻辑每次循环会覆盖之前的ID,最终仅会传递最后一个选中行的ID

对应解决方法

方案1:提交页项到会话状态(适配原有逻辑改动最小)

在触发打开模态页的动作前,新增一步提交操作,将P8205_ID_MOD_SELECTED的最新值同步到服务端:

  • 若通过按钮动作打开模态页:直接给按钮新增「提交页项」动作,把P8205_ID_MOD_SELECTED加入到提交的页项列表中,再执行打开模态页的动作即可。
  • 若通过JS触发打开模态页:在你原有赋值逻辑后新增异步提交代码,先同步值再打开模态页:
// 你的原有赋值逻辑
var i, selectedIds = "", model = this.data.model; 
for ( i = 0; i < this.data.selectedRecords.length; i++ ) { 
  apex.item("P8205_ID_MOD_SELECTED").setValue(model.getValue( this.data.selectedRecords[i], "ID")); 
}
// 新增:提交页项到会话状态
apex.server.process("EMPTY_PROCESS", {
  pageItems: "#P8205_ID_MOD_SELECTED"
}, {async: false});
// 此处后续加你打开模态页的逻辑

上述代码中的EMPTY_PROCESS为当前页新建的空AJAX进程,无需写任何业务逻辑,仅用于触发页项提交动作。

方案2:动态传值不走会话状态

直接在打开模态页的JS逻辑中把值拼接在URL里,不需要提前同步会话状态:

const targetPageId = "你的模态页页码";
const targetReceiveItem = "模态页接收ID的页项名";
const selectedId = apex.item("P8205_ID_MOD_SELECTED").getValue();
const modalUrl = apex.util.applyUrlParameter(apex.page.get_url(targetPageId), targetReceiveItem, selectedId);
// 打开模态页
apex.navigation.dialog({
  url: modalUrl,
  title: "模态页标题",
  modal: true,
  width: 600
});

配置检查项

  1. 确认打开模态页的动作中,传递的源项为P8205_ID_MOD_SELECTED,目标项为模态页的对应接收页项
  2. 确认模态页接收页项的「会话状态保护」设置为「不受限制」
  3. 若需传递多选IG的ID,修改原有赋值逻辑为拼接字符串:
const selectedIds = [];
const model = this.data.model; 
for (let i = 0; i < this.data.selectedRecords.length; i++) {
  selectedIds.push(model.getValue(this.data.selectedRecords[i], "ID"));
}
apex.item("P8205_ID_MOD_SELECTED").setValue(selectedIds.join(","));

内容的提问来源于stack exchange,提问作者Roberto Cavalcante

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 12:54:07