- 一張業務表中有欄位:省區名稱(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
之後,在經銷商VO,得到Csqmc,Csxmc
- 2.之後依次關聯省區名和市縣名.
- 在省區名進行LOV配置
- list data source選擇 省表的VO,list Attribute選擇省表的Csqmc.之後把list Attribute和本View Attribute進行關聯,(因為要求省區名稱變動,省區代碼也隨之變動,所以在List return value裡再把07表的Csqdm也進行關聯,在UI Hints進行 控制項類型選擇及在控制項中顯示的內容設定。)
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
其中 p_csqdm即自己設的參數,準備傳進經銷商表選擇到的省區名稱->代碼,則在經銷商表配置好LOV則實現省市聯動。
4.在表現層的聯動操作,省區名稱控制項要設定autosubmit()為真,市區名稱控制項要設定partrialtrriger為真,即省區名稱值變動則局部提交,市區名稱觸發器監聽省區名稱控制項實現聯動。