當報表中列出數據太多時,想通過顯示按鈕隱藏明細數據只顯示統(tǒng)計數據。如下圖示例,那么該如何實現呢?本文以FineReport為例,來講述JS如何實現點擊參數面板按鈕顯示或隱藏數據。

打開報表
在參數面板添加一個標簽控件,控件名為lable,設置標簽控件不可見,控件值為“顯示”。

在參數面板添加一個按鈕控件,控件名為button,控件值為“只顯示合計數據”,并添加點擊事件。

編輯點擊事件,添加下面的JavaScript代碼:

/*獲取隱藏的標簽控件的值*/
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("只顯示合計數據");
}
/*執(zhí)行查詢*/
_g().parameterCommit();
點擊參數面板空白處,將“點擊查詢前不顯示報表內容”屬性的勾去掉。

回到報表設計界面,右鍵B3單元格,添加條件屬性,設置行高為0毫米,添加公式條件為$label = '隱藏'。

保存模板,點擊分頁預覽即可看到上圖的效果。