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

Oracle APEX中如何将页面值传递给inline dialog实现搜索功能

Oracle APEX inline dialog参数传递解答

inline dialog完全支持传递当前页面已录入内容作为查询参数,实现逻辑比modal dialog更简单,不需要配置跨页面参数传递规则。

常规实现步骤

  • 正常在当前页面创建inline dialog类型的区域,在区域内添加搜索结果展示用的报表/列表组件
  • 编辑结果组件的查询SQL,直接将当前页面的录入项作为绑定变量写入查询条件即可,比如当前页有录入项P1_EMP_NAME,SQL可直接写:
    SELECT emp_id, emp_name, dept_name FROM emp WHERE emp_name LIKE '%' || :P1_EMP_NAME || '%'
    
  • 给触发打开inline dialog的按钮绑定动态动作,按顺序添加两个动作:
    1. 刷新inline dialog内的结果组件,刷新时APEX会自动读取当前页面录入项的最新值代入绑定变量完成查询
    2. 执行打开inline dialog操作,打开后即可看到符合当前查询条件的结果

特殊场景自定义传值方案

如果需要在传参前对参数做拼接、转换等自定义处理,可以用JS动态赋值的方式实现:

先在inline dialog区域内添加隐藏项,比如P1_INLINE_QUERY_PARAM,在打开dialog的动态动作中先添加「执行JavaScript代码」动作,写入自定义处理逻辑:

// 示例:将当前页面多个录入项拼接为一个查询条件传入dialog
const param1 = apex.item("P1_INPUT1").getValue();
const param2 = apex.item("P1_INPUT2").getValue();
apex.item("P1_INLINE_QUERY_PARAM").setValue(param1 + '-' + param2);

后续dialog内的查询逻辑直接引用绑定变量:P1_INLINE_QUERY_PARAM即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:24:01