Oracle ADF 表实现下拉联动
Oracle ADF 表实现下拉联动
- 一张业务表中有字段:省区名称(Csqmc),省区代码(Csqdm),市县名称(Csxmc),市县代码(Csxdm)。
- 通过选择省区名称,实现市县名称联动。
1.经销商表中本未有Csqmc和Csxmc两个字段,在Query中写入SQL语句,查询出经销商表本身有的字段,并且
- select ssqx.sqmc ,ssqx.sxmc where 经销商表.sqdm = ssqx.sqdm
其中 ssqx 是一个省市联查view
- create or replace view v_sys_sysc07sysc08 as
- select a.csqdm,b.csxdm,a.csqmc,b.csxmc,b.njd,b.nwd
- from sysc07 a,sysc08 b
- where a.csqdm = b.csqdm
- 2.之后依次关联省区名和市县名.
- 在省区名进行LOV配置
- list data source选择 省表的VO,list Attribute选择省表的Csqmc.之后把list Attribute和本View Attribute进行关联,(因为要求省区名称变动,省区代码也随之变动,所以在List return value里再把07表的Csqdm也进行关联,在UI Hints进行 控件类型选择及在控件中显示的内容设置。)
。
3.市县名称也类似上面操作,但是由于省市名称要求联动,所以原理是,省区选择好后,要把省区代码传递到一个参数里,用where语句比较市县表中的Csqdm和此参数(可以建视图完成)。
视图代码为
- SELECT
- SYSC08.CSXDM CSXDM,
- SYSC08.CSXMC CSXMC
- FROM
- SYSC08
- where SYSC08.CSQDM = :p_csqdm
4.在表现层的联动操作,省区名称控件要设置autosubmit()为真,市区名称控件要设置partrialtrriger为真,即省区名称值变动则局部提交,市区名称触发器监听省区名称控件实现联动。
评论暂时关闭