Oracle Apex:在另一个项目更改时刷新项目

Posted

技术标签:

【中文标题】Oracle Apex:在另一个项目更改时刷新项目【英文标题】:Oracle Apex: refresh item on another item change 【发布时间】:2020-06-29 08:35:15 【问题描述】:

每当 Select List 项目被修改时,我都会尝试刷新 Shuttle 项目。

到目前为止我做了什么:

我有一个项目P1_MY_LIST,它是一个价值列表。我有一个P1_MY_SHUTTLE,由这个查询填充:

SELECT a, b FROM my_table WHERE col1 = :P1_MY_LIST;

然后我在P1_MY_LIST 上创建了一个更改事件,其中包含一个设置为刷新P1_MY_SHUTTLE 项目的TRUE Event

但是,当我在 P1_MY_LIST 中选择某些内容时,什么也没有发生。

谁知道我做错了什么?

【问题讨论】:

【参考方案1】:

要根据选择列表中的选定值刷新穿梭,最好使用旧的“值的级联列表”属性。

在您的情况下:在页面项目 P1_MY_SHUTTLE 上,将“值级联列表”>“父项目”设置为 P1_MY_LIST。应该这样做。

如果由于某种原因在您的情况下不起作用,您可以执行动态操作,但有一点需要注意。没有向服务器提交所选值的选项,因此您的选择列表将不会使用新选择的 P1_MY_LIST。结果,它看起来好像没有令人耳目一新,但实际上确实如此。您可以通过

在您的刷新操作之前添加一个真正的操作。 操作:“执行 PL/SQL 代码” PL/SQL 代码“NULL;” (您无需执行任何操作) 要提交“P1_MY_LIST”的项目。

这将确保 P1_MY_LIST 在再次执行查询时被拾取,并且它将在您的穿梭车中显示正确的值。

【讨论】:

要提交的项目 "P1_MY_LIST" -> 成功了!这就是我所缺少的。非常感谢。

以上是关于Oracle Apex:在另一个项目更改时刷新项目的主要内容,如果未能解决你的问题,请参考以下文章

根据 Oracle APEX 项目值更新和插入

APEX:显示/隐藏项目时如何自动调整项目宽度?

Oracle APEX 自动在区域中添加/删除列

Oracle Apex Shuttle 项目数组在提交时为空

Oracle APEX 文本页面项作为 SQL 查询中的不可编辑超链接字段

模态对话框上的 Oracle Apex 设置页面项