如何在Oracle APEX页面加载时默认选中第一条主记录
Oracle APEX 主从并排页面默认选中第一条主记录实现方案
Oracle APEX示例主从(Master Detail)应用中,并排页面的展示效果如下:
需求为页面加载时默认自动选中第一条主记录,避免用户每次新加载页面都需要手动点击选择,实现步骤如下:
实现步骤
- 第一步:给主记录区域(交互式报表/交互式网格/经典报表)设置唯一静态ID,在区域属性的「高级」选项卡下即可配置,示例设为
master_region。 - 第二步:创建一个动态动作,触发时机选择「页面加载(Page Load)」,无需设置触发条件。
- 第三步:给动态动作添加「执行JavaScript代码」类型的真操作,根据主区域类型选择对应代码:
主区域为交互式网格(IG)场景代码
// 获取IG组件实例 let ig = apex.region("master_region").widget().interactiveGrid("getViews", "grid"); // 选中当前页第一条记录 ig.setSelectedRecords([ig.model.getRecords()[0]]); // 触发选择变更事件,联动刷新从区域数据 ig.selectionChanged();
主区域为交互式报表(IR)/经典报表场景代码
// 适用于带单选选择列的报表,点击第一行的单选框 apex.jQuery("#master_region tr:eq(1) td.a-IRR-selectCell input").click(); // 如果是点击整行触发选择的场景,替换为下面的代码即可 // apex.jQuery("#master_region tr:eq(1)").click();
请将上述代码中的
master_region替换为你实际给主区域设置的静态ID。
- 第四步:保存页面后测试,页面加载完成后会自动选中第一条主记录,同步加载对应从数据。
注意事项
- 如果主区域开启了分页,默认选中的是当前分页的第一条记录,如果需要默认选中全局排序后的第一条,可先给主区域配置默认排序规则,再配合上述代码使用即可。
内容的提问来源于stack exchange,提问作者Shabbir Hussain
相关产品推荐
相关产品推荐

