當報表中列出數據太多時,想通過顯示按鈕隱藏明細數據只顯示統計數據。如下圖示例,那么該如何實現呢?本文以FineReport為例,來講述JS如何實現點擊參數面板按鈕顯示或隱藏數據。
打開報表
在參數面板添加一個標簽控件,控件名為lable,設置標簽控件不可見,控件值為“顯示”。
在參數面板添加一個按鈕控件,控件名為button,控件值為“只顯示合計數據”,並添加點擊事件。
編輯點擊事件,添加下面的JavaScript代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/*獲取隱藏的標簽控件的值*/
var
label=
this
.options.form.getWidgetByName(
"label"
).getValue();
/*判斷標簽控件的值*/
if
(label==
'顯示'
)
{
/*當標簽控件的值為顯示時,則改為隱藏,並修改按鈕名稱為顯示所有數據*/
this
.options.form.getWidgetByName(
"label"
).setValue(
"隱藏"
);
this
.options.form.getWidgetByName(
"button"
).setValue(
"顯示所有數據"
);
}
else
{
/*當標簽控件的值不為顯示時,則改為顯示,並修改按鈕名稱為只顯示合計數據*/
this
.options.form.getWidgetByName(
"label"
).setValue(
"顯示"
);
this
.options.form.getWidgetByName(
"button"
).setValue(
"只顯示合計數據"
);
}
/*執行查詢*/
_g().parameterCommit();
|
點擊參數面板空白處,將“點擊查詢前不顯示報表內容”屬性的勾去掉。
回到報表設計界面,右鍵B3單元格,添加條件屬性,設置行高為0毫米,添加公式條件為$label = '隱藏'。
保存模板,點擊分頁預覽即可看到上圖的效果。