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

Oracle Apex Interactive Grid 实现指定列所有行统一赋值需求咨询

Oracle APEX 交互式网格(IG)批量赋值按钮实现方案

以下是实现点击按钮批量填充IG指定列所有行值的完整操作步骤:

1. 创建页面触发按钮

在IG所在页面新增按钮,按钮动作选择执行JavaScript,无需设置跳转逻辑。

2. 编写业务逻辑代码

将以下代码粘贴到按钮的JavaScript执行框中,替换对应占位参数即可:

// 调用APEX原生弹窗获取用户输入
apex.message.prompt("请输入要批量填充的值:", function(inputVal) {
    // 非空校验
    if (!inputVal || inputVal.trim() === "") return;
    // 获取IG实例,替换为你自己的IG静态ID
    const ig = apex.region("替换为你的IG静态ID").widget().interactiveGrid("getViews", "grid");
    const igModel = ig.model;
    // 遍历所有行赋值,替换为你要填充的列的数据源字段名
    igModel.getRecords().forEach(record => {
        igModel.setValue(record, "替换为目标列的数据源字段名", inputVal.trim());
    });
}, "批量填充确认");

注意提前确认目标IG列已经开启编辑权限,否则赋值操作不会生效。

如果你不需要适配APEX主题,用浏览器原生弹窗也可以,简化代码如下:

const inputVal = prompt("请输入要批量填充的值:");
if (inputVal === null || inputVal.trim() === "") return;
const ig = apex.region("替换为你的IG静态ID").widget().interactiveGrid("getViews", "grid");
ig.model.getRecords().forEach(record => {
    ig.model.setValue(record, "替换为目标列的数据源字段名", inputVal.trim());
});

3. 效果验证

配置完成后点击按钮,在弹窗输入要填充的内容确认后,IG对应列的所有行都会自动填充为输入值,修改后的数据和手动编辑的IG数据逻辑一致,可直接提交保存到数据源。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 15:54:03