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

Oracle APEX交互式网格无法传递行ID至页面项求助

Oracle APEX交互式网格弹出LOV修改时传递行ID问题解决

问题根源

原代码依赖getSelectedRecords()获取行,但修改弹出LOV列时,当前操作的行不一定处于选中状态,导致无法正确获取行ID;同时手动拼接URL可能存在编码或格式问题。

修复方案

使用网格的当前上下文获取编辑行,并用官方推荐的apex.util.redirectTo()构建跳转链接:

// 替换为你的交互式网格区域静态ID
var igStaticId = "your_grid_region_static_id";
var igView = apex.region(igStaticId).widget().interactiveGrid("getViews", "grid");
var igModel = igView.model;

// 获取当前正在编辑的行记录
var currentRecord = igView.getCurrentRecord();

if (currentRecord) {
    // 替换为IG中存储主键的列名(例如你的ROW_ID列)
    var rowId = igModel.getValue(currentRecord, "ROW_ID");
    
    // 跳转并传递参数,自动处理URL编码
    apex.util.redirectTo({
        pageId: 82,
        set: {
            P82_ID: rowId
        }
    });
} else {
    alert("无法获取当前行信息");
}

关键注意事项

  • 确认your_grid_region_static_id是交互式网格区域的实际静态ID(在区域属性中查看)
  • 确保"ROW_ID"是IG中包含主键值的列名(需在网格中存在,可设为隐藏列)
  • 目标页面的P82_ID页面项需配置为允许接收URL参数(在项属性的"来源"中设置)

排查技巧

在代码中加入console.log(rowId),打开浏览器开发者工具的控制台,查看是否成功获取到行ID值,以此排查是获取ID失败还是跳转逻辑问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 07:19:50