1. 概述
1.1 問題描述
在實際項目中,使用決策報表的時候,有時會用到在決策報表參數面板獲取報表控件的值,那麽該如何實現呢?
1.2 實現思路
使用 JS 獲取報表主體的控件值:
_g().getWidgetByName("area").getValue(); //獲取報表主體控件area的控件值
2. 示例
2.1 設計報表
1)新建決策報表,将 body 的布局方式修改爲絕對布局。如下圖所示:
2)在 body 中拖入一個「标簽控件」和「文本控件」,将标簽控件的控件值修改爲 地區是:如下圖所示:
3)将「文本控件」的控件名稱修改爲 area,如下圖所示:
4)在 body 中拖入參數面板,在參數面板中添加一個「按鈕控件」,将按鈕名稱改爲:獲取報表主體控件值,如下圖所示:
2.2 添加事件
選中參數面板上「按鈕控件」,添加一個「點擊」事件。事件作用爲點擊按鈕時彈窗打印報表中文本控件的值。如下圖所示:
JavaSccript 代碼如下:
var label = _g().getWidgetByName("label0").getValue(); //獲取标簽控件label0的控件值
var area = _g().getWidgetByName("area").getValue(); //獲取文本控件area的控件值
alert(label + area);
2.3 效果預覽
1)點擊參數面板空白處,取消勾選「點擊查詢前不顯示報表内容」,使得報表初始化時展現報表内容。如下圖所示:
2)保存模板,點擊「PC端預覽」,在報表「文本控件」中輸入值華東,點擊參數面板按鈕,彈窗顯示文本控件的值。PC 端效果如下圖所示:
App 及HTML5 效果如下圖所示:
3. 模板下載
已完成的模板,可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表單JS實例\26-JS實現在報表參數界面獲取控件的值.frm
點擊下載模板:26-JS實現在報表參數界面獲取控件的值.frm