場景javascript
在項目中作查詢表單或者填報表時,常常會有動態關聯的業務需求,好比省市區的關聯,潤乾填報 / 參數表單報表不只能夠實現單個省市區的動態關聯,還能夠實現多省市區的動態關聯。java
下面咱們就以潤乾報表示例數據庫現有的數據表—客戶表和訂單表 爲例,來舉例介紹一下數據多選的動態關聯。web
最終效果數據庫
實現步驟blog
單元格表達式以下圖ip
** 其中,** 報表數據集及參數設置以下ci
其中get
數據集 SQL 以下it
重點設置爲 C二、E二、G2 單元格實現國家 省 市 的多選關聯過濾,具體設置以下:變量
C2 單元格:設置 web 變量名爲 arg1,同時設置編輯風格爲 下拉數據集 取值 ds2. 國家,以下
E2 單元格:設置 web 變量名爲 province,同時設置編輯風格爲 下拉數據集 取值 ds2. 省份,關聯過濾表達式:(‘,’+C2.toString()+‘,’).indexOf(‘,’+ 國家 +‘,’) >= 0,觸發關聯過濾單元格爲 C2,以下
G2 單元格:設置 web 變量名爲 city,同時設置編輯風格爲 下拉數據集 取值 ds2. 城市,關聯過濾表達式:(‘,’+E2.toString()+‘,’).indexOf(‘,’+ 省份 +‘,’) >= 0,觸發關聯過濾單元格爲 E2,以下
到這裏咱們就完成了數據多選的動態關聯。
本文要點:
掌握關聯過濾表達式的用法,以 E2 的表達式爲例解析以下:
E2 關聯過濾表達式:(‘,’+C2.toString()+‘,’).indexOf(‘,’+ 國家 +‘,’) >= 0
意爲:從 E2 中檢索與 C2 所選國家相符的省份。
此關聯表達式靈活結合了 javascript 的 indexOf() 方法,方法說明:
課外擴展: