sql報表工具FineReport的引數面板如何對應顯示?

我們的引數聯動在報表展示時,聯動效果是通過客戶自己的選擇來實現聯動的,但是在當聯動內容是一一對應的時候,客戶不希望還要再選一次才能實現聯動效果,希望在引數面板選擇一次引數之後,後面的資料自動展現出來,形如填報介面的自動匹配,這個該如何實現呢?同時還希望,後面聯動的資料前面的標籤在第一次開啟模板時,並不展現出來,這個又該如何實現呢?下面就通過sql報表工具FineReport來介紹一下如何設定。

工具/原料

sql報表工具FineReport7.1.1

大小:148.2M 適用平臺:windows/linux

方法/步驟

實現選擇客戶名稱,客戶的相應資訊在引數面板上展示,查詢前,只顯示客戶名稱的下拉框控制元件,其他的不顯示,點選查詢後,報表展示該客戶的訂單資訊,如下圖:

sql報表工具FineReport的引數面板如何對應顯示

新建模板

新建模板資料集即資料庫查詢,SQL語句為SELECT * FROM [訂單]。

定義模板引數id:模板>模板引數,新增一個模板引數id。

引數面板設計

引數對應的控制元件設定

新增引數id生成的控制元件,控制元件型別為下拉框控制元件,id標籤改名為:客戶名稱。下拉框控制元件的資料字典設定如下:

sql報表工具FineReport的引數面板如何對應顯示

聯動控制元件的設定

此處,將客戶詳細資訊顯示在引數面板上,以標籤控制元件來展示。

增加2個新的標籤,其中一個固定標籤的控制元件名設定name,控制元件值為聯絡人姓名,另外一個動態標籤的控制元件值為公式: sql("FRDemo", "select 聯絡人姓名 from 客戶 where 客戶ID='" + $id +"'", 1, 1),如下:

sql報表工具FineReport的引數面板如何對應顯示

同理,設定好聯絡人職務,地址和電話號碼等標籤的設定,完成之後,引數面板如下:

sql報表工具FineReport的引數面板如何對應顯示

標籤不可見設定

由於要實現在開啟模板時,只顯示下拉框,其餘的標籤不顯示,那麼就需要將所有固定標籤設定為不可見,即屬性>基本屬性>可見,將勾去掉即可;同時,在編輯下拉框之後,引數面板上的標籤又需要顯示出來,則可以在下拉框控制元件處新增一個編輯後事件,程式碼如下:

var a=this.options.form.getWidgetByName("name");

a.setVisible(true);

注:程式碼中的name是固定標籤的控制元件名,由於要控制多個固定標籤,則需要重複寫多個這段程式碼,只是控制元件名需要一一對應,設定好的引數面板如下:

sql報表工具FineReport的引數面板如何對應顯示

報表主體設計

如下圖:

在A2單元格處設定模板引數的過濾。

sql報表工具FineReport的引數面板如何對應顯示

保存於預覽

將該模板儲存之後,點選分頁預覽就會看到效果。

面板, 工具, 引數, 標籤, 報表,
相關問題答案