顶点5:动态动作设置页面项值

Apex 5 : Dynamic action set page item value

在使用新的 apex 5 版本时,我遇到了以下问题:

无法通过 plsql 获取页面项的值:

nv(:P2_TO, :P2_FROM) <<< DOESN'T WORK *I Yes P@_FROM exist and verified
nv(:P2_TO, 'test') <<< DOES WORK

我已经在 apex.oracle.com 上尝试过了,我自己的主机都无法正常工作。

更多信息:

这很合乎逻辑。您正在引用变量的会话状态,它可能是空的。并不是因为项目 P2_TOP2_FROM 在您浏览器的页面上有一个值,所以它们在会话状态中设置了一个值。例如,加载您的页面,在 P2_FROM 中输入一个值。然后单击开发人员工具栏上的“会话”,您会看到 P2_FROM.
中没有任何值 会话状态中的值可以与实际网页上的值不同

这就是为什么有额外的 属性“要提交的页面项目”以及必须与数据库通信的操作(即向网络服务器执行 ajax 请求)的确切原因。这允许您定义必须将其值发送到服务器的项目,以便您实际上可以使用它们的值。

因此:对于此类操作,将 P2_TO 添加到“ 要提交的页面项目”列表中

你总是可以使用 apex util:

APEX_UTIL.set_session_state(p_name => 'PX_MY_ITEM', p_value => 'wibble');

示例 1

APEX_UTIL.set_session_state('P1_MY_ITEM','My Text Value');

示例 2

APEX_UTIL.set_session_state('P1_MY_OTHER_ITEM', 42);

示例 3

APEX_UTIL.set_session_state('P1_MY_OTHER_OTHER_ITEM', MY_PLSQL_VARIABLE);