如何在Oracle APEX中自定义交互式网格的行级操作
Oracle APEX 交互式网格行级操作菜单自定义步骤
1. 准备目标页面参数
先确认跳转目标页面(比如页面2)已配置接收参数:
- 在目标页面创建页面项
P2_ID和P2_FK_ID,参数类型匹配源表字段类型(如数字/字符),来源设置为页面项。
2. 添加页面级动态动作
在交互式网格所在页面,新增一个动态动作:
- 触发条件:选择「页面加载」
- 执行动作:选择「执行JavaScript代码」,粘贴以下代码(需替换对应标识):
// 获取交互式网格实例,替换YOUR_IG_STATIC_ID为你的IG静态ID var ig = apex.region("YOUR_IG_STATIC_ID").widget().interactiveGrid("getViews", "grid"); // 新增行级操作菜单项 ig.rowMenu$.menu("option", "items", ig.rowMenu$.menu("option", "items").concat([ { label: "跳转到关联页面", // 自定义菜单显示名称 icon: "fa-external-link", // 可选:Font Awesome图标类名 command: function(event, ui) { var rowId = ui.rowId; var model = ig.model; // 获取当前行的ID和FK_ID字段值 var currentId = model.getValue(rowId, "ID"); var currentFkId = model.getValue(rowId, "FK_ID"); // 构造跳转URL,替换目标页面编号和参数名 apex.navigation.redirect( apex.util.makeUrl({ page: 2, // 目标页面编号 items: [ {name: "P2_ID", value: currentId}, {name: "P2_FK_ID", value: currentFkId} ] }) ); } } ]));
3. 测试验证
运行当前页面,点击每行右侧的行操作菜单(三个点图标),即可看到新增的自定义菜单项,点击后将自动跳转至目标页面并携带当前行的ID和FK_ID参数。
注意事项
- 务必替换代码中的
YOUR_IG_STATIC_ID为你交互式网格的实际静态ID(可在IG属性面板中查看) - 若需添加多个行级操作,可在
concat数组内继续添加新的菜单项对象 - 图标可使用APEX内置的Font Awesome类名,如
fa-edit、fa-eye等
内容的提问来源于stack exchange,提问作者shady
相关产品推荐
相关产品推荐

