基于另一个值列表的Oracle APEX值列表列筛选器

shstlldc  于 2023-04-05  发布在  Oracle
关注(0)|答案(1)|浏览(133)

我正在尝试筛选一个值列表列,它基于另一个值列表示例:
我有一个列LOV,即国家;我可以选择任何国家。我还有一个列是地区;我可以根据我选择的国家选择任何地区。
这只是一个例子,真实的的工作是与实体,和客户端。我可以选择一个实体,该实体有许多客户端的基础上列实体。
我可以在用户界面中按国家列进行筛选,但当我想按地区筛选时,该选项不可用
有人能帮帮我吗!拜托。
"Empresa" is the LOV column "Father"
"Cliente" is the LOV column "child" or is based on Column LOV "Empresa"
注:我不知道写英语全,如果写的不好请原谅。你需要我给予你。谢谢!
我不知道我能做什么。

nhn9ugyo

nhn9ugyo1#

啊哈。你想在交互式网格中使用内置的过滤器。我不认为Apex在这种情况下提供了级联的LoV(至少,不是 * 声明性地 *;也许有一些JavaScript,但我不知道它,不能帮助)。
但是,如果您创建了自己的页面项-一个用于国家,另一个用于地区,那么您可以为第二个LoV设置级联LoV属性-您只需设置父项,Apex将为您完成其余工作。
例如:国家LoV:

select name d, country_id r
from countries
order by name

区域LoV:

select name d, region_id r
from regions
where country_id = :P1_COUNTRY_ID
order by name

--> set P1_COUNTRY_ID to be its "parent" item

交互式网格查询:

select *
from your_table
where (country_id = :P1_COUNTRY_ID or :P1_COUNTRY_ID is null)
   or (region_id  = :P1_REGION_ID  or :P1_REGION_ID  is null)

相关问题