多值關聯過濾

場景javascript

在項目中作查詢表單或者填報表時,常常會有動態關聯的業務需求,好比省市區的關聯,潤乾填報 / 參數表單報表不只能夠實現單個省市區的動態關聯,還能夠實現多省市區的動態關聯。java

下面咱們就以潤乾報表示例數據庫現有的數據表—客戶表和訂單表 爲例,來舉例介紹一下數據多選的動態關聯。web

最終效果數據庫

1gif

實現步驟blog

  1. 繪製主表,這裏是一個簡單的網格表單 統計不一樣城市的客戶量以及銷售額。

單元格表達式以下圖ip

2png

** 其中,** 報表數據集及參數設置以下ci

3png

4png

5png

  1. 製做參數表單,以下

6png

其中get

數據集 SQL 以下it

7png

重點設置爲 C二、E二、G2 單元格實現國家 省 市 的多選關聯過濾,具體設置以下:變量

C2 單元格:設置 web 變量名爲 arg1,同時設置編輯風格爲 下拉數據集 取值 ds2. 國家,以下

8png

E2 單元格:設置 web 變量名爲 province,同時設置編輯風格爲 下拉數據集 取值 ds2. 省份,關聯過濾表達式:(‘,’+C2.toString()+‘,’).indexOf(‘,’+ 國家 +‘,’) >= 0,觸發關聯過濾單元格爲 C2,以下

9png

G2 單元格:設置 web 變量名爲 city,同時設置編輯風格爲 下拉數據集 取值 ds2. 城市,關聯過濾表達式:(‘,’+E2.toString()+‘,’).indexOf(‘,’+ 省份 +‘,’) >= 0,觸發關聯過濾單元格爲 E2,以下

10png

  1. 確認保存,分別將主表和參數表單保存爲:dzglgl.rpx dzglgl_arg.rpx。

到這裏咱們就完成了數據多選的動態關聯。

本文要點

掌握關聯過濾表達式的用法,以 E2 的表達式爲例解析以下:

E2 關聯過濾表達式:(‘,’+C2.toString()+‘,’).indexOf(‘,’+ 國家 +‘,’) >= 0

意爲:從 E2 中檢索與 C2 所選國家相符的省份。

此關聯表達式靈活結合了 javascript 的 indexOf() 方法,方法說明:

11png

課外擴展:

潤乾報表如何實現下拉日曆關聯過濾下拉數據集

相關文章
相關標籤/搜索