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

如何在Oracle APEX中创建带表格行对应复选框的动态表单

Oracle APEX 表格行动态复选框实现方案

APEX_ITEM包弃用后,可根据你的使用场景选择以下两种原生支持的落地方案:

方案1:交互式网格(IG)内置功能(最推荐)

适合需要表格编辑、批量操作的场景,无需自定义代码即可实现:

  • 新建交互式网格区域,绑定你需要展示的业务数据源
  • 在IG属性面板的「功能」分类下,开启「行选择」选项,选择「多选」模式,系统会自动为每一行数据生成对应复选框
  • 如需获取选中行数据,前端可调用IG官方API获取:
    apex.region("你的IG静态ID").widget().interactiveGrid("getViews", "grid").model.getSelectedRecords()
  • 后台处理时可直接通过IG的内置行选择标识获取选中数据,无需额外配置参数传递

方案2:经典报告自定义列渲染

适合使用经典报告展示数据的场景,自定义程度更高:

  • 在经典报告的查询SQL中新增占位符列,例如:null as select_flag
  • 编辑select_flag列属性,将显示类型设置为「HTML表达式」,填入自定义复选框代码:
    <input type="checkbox" name="row_selector" value="#主键列名#" class="custom-row-checkbox">
  • 新增页面隐藏项PX_SELECTED_IDS(X为你的页面编号),用于存储选中的主键值
  • 新增动态动作,触发条件为提交按钮点击,执行以下JavaScript代码:
let selectedIds = [];
document.querySelectorAll('.custom-row-checkbox:checked').forEach(item => {
  selectedIds.push(item.value);
});
apex.item('PX_SELECTED_IDS').setValue(selectedIds.join(','));
  • 后台PL/SQL处理逻辑中,直接拆分PX_SELECTED_IDS的逗号分隔值即可获取所有选中行的主键,完成后续业务操作

以上两种方案均适配APEX 20.1及以上全部版本,无需依赖弃用组件,性能和可维护性均优于旧的APEX_ITEM实现。如果需要额外实现全选、反选功能,仅需补充少量JS逻辑即可实现。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:15:07