我正在使用Application Express 3.2.1,我有一个应用程序,运行时从数据库中提取这些列:
显示名称,电子邮件地址,电话号码,家庭网络,国家/地区
我想通过Country过滤行,所以我用这个值定义创建了一个Select Named LOV:
select name d, name v
from
(
select distinct(country) name
from hh_carriers
)
当我为我的应用程序单击“运行”时,我的所有数据都会正确显示,并且我的选择列表会正确填充。但是,当我从选择列表中选择“国家/地区”时,数据不会更改。选择列表也会返回默认值。我是否还有其他与选择命名的POV有关的事情?我该怎么做才能使过滤器工作?感谢。
这是我的SQL语句生成页面的样子:
select * from hh_carriers
where
country like :P5_COUNTRY
显示额外值:否
使用的来源:仅当会话状态中的当前值为空时
源类型:静态分配(值等于源属性)
编辑:为了清晰起见改变了一些内容
答案 0 :(得分:0)
您需要在报表查询的WHERE子句中引用选择列表,如下所示:
where home_network = :p123_home_network
(p123_home_network
是选择列表的名称)
答案 1 :(得分:0)
您的网页基本如何设置? 它可以归结为:类型选择列表顶部的页面项目,基于您的lov,以及下面的报告区域,以及根据您的页面项目过滤的查询?
如果是这样,那么它应该不那么难以开始工作。与Wolf评论一样,您需要在更改选择列表中的值后提交页面。它的值需要提交到会话状态,因为这是您的查询过滤器引用的内容。
我没有得到的是选择列表回到默认值的问题。这到底发生了什么?
答案 2 :(得分:0)
我的“编辑页面计算”中的“表达式1”需要设置为P5_COUNTRY。