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

Oracle APEX:如何在会话状态中保存Popup LOV选中值

在Oracle APEX中保存Popup LOV填充的页面项到会话状态

针对你的需求,有两种实用的动态操作(DA)方案可选,可根据使用场景选择:

方案1:Popup LOV选择后立即保存(推荐)

这个方案能让你在选择完Popup LOV后,立刻把填充的页面项值同步到会话状态,后续页面上的任何逻辑都能直接使用这些值:

  • 创建新动态操作,触发事件选择Change,触发元素选你的Popup LOV页面项
  • 添加动作:Set Session State
    • 在「Items to Set」列表中,添加所有被Popup LOV填充的页面项
    • 每个项的「Value」选择Item Value(即页面项当前的客户端值)
    • 保存后,每次选择Popup LOV记录,这些项的值就会自动写入会话状态

方案2:提交前批量保存

如果只需要在提交前统一同步值,可以用页面级的Before Submit事件:

  • 创建新动态操作,触发事件选择Before Submit(页面范围触发)
  • 添加动作:Set Session State
    • 同样添加需要保存的页面项,每个项的「Value」设为Item Value
    • 这个DA会在用户点击提交按钮后、页面实际提交前,把所有指定项的值同步到会话状态

自定义PL/SQL处理(可选)

如果需要额外的逻辑处理(比如值校验、转换),可以把动作换成Execute PL/SQL Code,示例代码:

-- 把页面项值赋值给会话状态项
:P_SESSION_EMP_ID := :P_PAGE_EMP_ID;
:P_SESSION_EMP_NAME := :P_PAGE_EMP_NAME;
-- 这里可以加自定义逻辑,比如格式转换、校验

记得在「Page Items to Submit」中添加所有用到的页面项(比如P_PAGE_EMP_ID、P_PAGE_EMP_NAME),确保PL/SQL能获取到客户端的最新值。

注意:Popup LOV通过「Additional Return Items」填充页面项的操作是客户端行为,不会自动同步到会话状态,必须通过上述DA主动触发保存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 15:27:38