元件選項聯動


1. 概述

1.1 版本

報表伺服器版本
功能變動
11.0-

1.2 應用場景

當參數面板中有多個元件時,希望後一個元件的選項根據前一個元件選擇的值變化,尤其使用在元件選項之間有層級關係的場景中。

例如,省份選項需跟隨地區所選值而變動,城市選項需跟隨省份所選值而變動。如下圖所示:

1.3 實現思路

此場景主要針對的是有選項的元件,如下拉框、下拉複選框、無線電鈕、複選按鈕等。

此類元件的選項是透過綁定 資料字典 實現的,所以希望實現選項聯動,需要設定一個動態的資料字典。

資料字典的類型有 4 種:資料庫表、資料查詢、自訂、公式。如下圖所示:

其中,資料庫表和自訂都是固定的,沒有辦法設定動態,所以要設定一個動態資料字典,只能透過資料查詢或者公式實現。

現介紹三種設定動態資料字典實現元件選項看聯動的方法,第一種是資料查詢類型的資料字典實現,第二種和第三種都是公式類型的資料字典實現。

  • 方法一:設定資料查詢類型的資料字典,資料字典綁定一個動態的資料查詢。

  • 方法二:設定 SQL 函式公式類型的資料字典,資料字典綁定一個 SQL 函式構成的動態公式。

  • 方法三:設定資料集函式公式類型的資料字典,資料字典綁定一個資料集函式構成的動態公式。

2. 準備範本

2.1 建立報表 

建立一張普通報表,如下圖所示:

2.2 準備資料

實現 元件篩選查詢,有兩種方式,可以選擇透過資料集參數的方法實現,也可以選擇透過範本參數的方法實現。

此處因為之後的資料字典綁定時也會定義資料集參數,所以選擇資料集參數的方法實現元件篩選查詢。

1)建立資料庫查詢 ds1 :SELECT * FROM 訂單 where 貨主地區='${area}' and 貨主省份='${province}' and 貨主城市='${city}'

其中定義了三個資料集參數: areaprovincecity。如下圖所示:

2.3 設計報表

1)A1-I1 儲存格輸入正文。

2)A2-I2 儲存格拖入 ds1 資料集中的資料列,設計報表樣式。如下圖所示:

2.4 參數綁定元件

定義好參數後,要實現參數查詢就必須綁定元件。

1)點選參數面板的編輯按鈕,右側可以看到定義好的三個參數,點選「全部新增」將其新增在參數面板中,並調整三個參數的位置使其按照areaprocvincecity 的順序排列。如下圖所示:

2)三個參數分別綁定下拉框元件。以參數 area 為例,點選元件的工具按鈕,選擇元件類型為「下拉框」。如下圖所示:

2.5 修改標籤

分別點選右側的「Labelarea」 、「Labelprovince」、「Labelcity」 ,修改元件值為:地區:、省份:、城市:。如下圖所示:

3. 方法一:資料查詢類型的資料字典

範本準備好後,可使用方法一設定資料查詢類型的資料字典,使元件的選項可以聯動。

3.1 地區

1)建立一個資料庫查詢「1地區」 :SELECT * FROM 訂單。如下圖所示:

2)設定area元件的資料字典,類型設定為「資料查詢」,資料集為「1地區」,實際值和顯示值都為「貨主地區」。如下圖所示:

3.2 省份

1)建立一個資料庫查詢「省份」 :SELECT * FROM 訂單 WHERE 貨主地區='${area}',即province元件的選項必須是 area 下的省份,如下圖所示:

2)設定province元件的資料字典,類型設定為「資料查詢」,資料集為「2省份」,實際值和顯示值都為「貨主省份」。如下圖所示:

3.3 城市

1)建立一個資料庫查詢「3城市」 :SELECT * FROM 訂單 WHERE 貨主地區='${area}' and 貨主省份='${province}',即city元件的選項必須是 area 下 province 下的城市,如下圖所示:

2)設定city元件的資料字典,類型設定為「資料查詢」,資料集為「3城市」,實際值和顯示值都為「貨主城市」。如下圖所示:


4. 方法二:SQL函式公式類型的資料字典

範本準備好後,可使用方法二設定 SQL 函式公式類型的資料字典,透過 SQL函式 直接取資料庫資料,使元件的選項可以聯動。

注:不能透過資料查詢實現時可以選擇公式實現,尤其綁定的資料來源於內建資料集或者檔案資料集時。

4.1 地區

設定area元件的資料字典,類型設定為「公式」,實際值為:sql("FRDemo","select distinct 貨主地區 from 訂單",1),顯示值為:$$$。如下圖所示:

4.2 省份

設定province元件的資料字典,類型設定為「公式」,實際值為:sql("FRDemo","select distinct 貨主省份 from 訂單 where 貨主地區 = '${area}' ",1),顯示值為:$$$,即province元件的選項必須是 area 下的省份。如下圖所示:

4.3 城市

設定area元件的資料字典,類型設定為「公式」,實際值為:sql("FRDemo","select distinct 貨主城市 from 訂單 where 貨主地區 = '${area}' and 貨主省份 = '${province}'",1),顯示值為:$$$,即city元件的選項必須是 area 下 province 下的城市。如下圖所示:

5. 方法三:資料集函式公式類型的資料字典

範本準備好後,可使用方法三設定資料集函式公式類型的資料字典,透過 資料集函式概述 取資料集中的資料,使元件的選項可以聯動。

注:不能透過資料查詢實現時可以選擇公式實現,尤其綁定的資料來源於內建資料集或者檔案資料集時。

5.1 建立資料查詢

建立一個資料庫查詢 ds2 :SELECT * FROM 訂單。如下圖所示:

5.2 地區

設定area元件的資料字典,類型設定為「公式」,實際值為:ds2.select(貨主地區),顯示值為:$$$。如下圖所示:

5.3 省份

設定province元件的資料字典,類型設定為「公式」,實際值為:ds2.select(貨主省份,貨主地區=$area),顯示值為:$$$,即province元件的選項必須是 area 下的省份。如下圖所示:

5.4 城市

設定city元件的資料字典,類型設定為「公式」,實際值為:ds2.select(貨主城市,貨主地區=$area&&貨主省份=$province),顯示值為:$$$,即city元件的選項必須是 area 下 province 下的城市。如下圖所示:

6.  效果預覽

6.1 PC端

PC端預覽,如下圖所示:

6.2 行動端

行動端預覽,以 App 為例,如下圖所示:

7. 下載範本

附件列表


主題: 參數應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

8s后關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙