如何在 oracle apex 中验证两个选择列表

Posted

技术标签:

【中文标题】如何在 oracle apex 中验证两个选择列表【英文标题】:How validate two select list in oracle apex 【发布时间】:2020-04-05 00:28:18 【问题描述】:

我正在使用 Oracle apex,并且我有 2 个选择列表组件,它们从同一个表中获取元素。我想建立一个货币转换器,货币列表是“divisas”

我的问题是:我想验证当在一个选择组件上选择一个值时,另一个组件不包含选择列表 1 中的那个元素。反之亦然

Also when on select 1 is null on the select 2 must show all result from the table, and vice verse.

我从这个查询开始,但我做不到

select *
from divisas
where EN_APP = 'S'
  and (
    case when :P12_DIVISA is not null then (cod_divi <> :P12_DIVISA) else EN_APP = 'S' end
  )
;

有人可以帮我吗?

【问题讨论】:

看看这个:***.com/questions/60676786/… 【参考方案1】:

选择列表项有 Cascading List of Values 属性。但是,由于您想同时处理这两个项目,您将进入循环引用和死循环,因此它不会正常工作。

这里有一个选项可以满足您的需求;看看有没有帮助:

创建两个项目,例如P59_CURR_1P59_CURR_2(适用于两种货币) 他们的类型是选择列表项 选择页面操作 = “重定向并设置值”

SQL 查询如下所示(对于 P59_CURR_1

select cod_divi d, cod_divi r
from divisas
where cod_divi <> nvl(:P59_CURR_2, 'X')      -- would be `:P59_CURR_1` for another item
order by cod_divi
不要设置父项的级联值列表!

就是这样;运行页面并查看它的行为。我在 apex.oracle.com 的 Apex 20.1 版本上看起来不错。

【讨论】:

以上是关于如何在 oracle apex 中验证两个选择列表的主要内容,如果未能解决你的问题,请参考以下文章

如何将 SQL 查询中一个字段的值用于 Oracle Apex 上另一个字段的值列表?

Oracle APEX 选择列表

Oracle Apex 5.1:基于 LOV(值列表)的报告列显示返回值而不是显示值

Oracle APEX 表格形式选择列表禁用

Oracle APEX 中的条件值列表?

Oracle Apex 智能选择列表