Java報表軟件內(nèi)置JS的使用之三
Posted on 2010-08-29 18:51 FineReport——報表技術領跑者 閱讀(272) 評論(3) 編輯 收藏 所屬分類: Java報表技術知識參數(shù)控件觸發(fā)事件
參數(shù)控件的取值與置數(shù)
參數(shù)界面中,最常見的就是獲取參數(shù)的值進行運算或者將其作為另一個參數(shù)的判斷依據(jù),在FineReport報表軟件網(wǎng)頁腳本中,也提供了獲取參數(shù)控件實際值,顯示值并給參數(shù)置數(shù)的方法。
//取當前控件的實際值
var [ParaValue] = this.getValue();
//通過參數(shù)控件名稱來獲取參數(shù)控件實際值
var [ParaValue] = this.options.form.getWidgetByName("[ParaName]").getValue();
//通過arguments[i]獲取當前參數(shù)控件顯示值
var [DisplayedValue] = arguments[0];
//通過控件A獲取控件B的顯示值
var [DisplayedValue] = this.options.form.getWidgetByName("[ParaName]").options.items[0].text;
//獲取某個參數(shù)控件,并給其置數(shù)(實際值)
var [Para] = this.options.form.getWidgetByName("[ParaName]");
[Para].setValue([Value]);
實例:
該實例通過添加參數(shù)控件的編輯后事件來實現(xiàn)用一個參數(shù)控制另一個參數(shù),如用參數(shù)username來對state置數(shù),username為下拉框自定義的幾個用戶名,state為單選按鈕組表示狀態(tài)1和2。當username有值時,state的狀態(tài)置為1否則置為2。
1. 模板設計
1.1 新建報表
1.2 定義參數(shù)
在菜單欄中選擇報表|報表參數(shù),打開參數(shù)定義面板,定義參數(shù)state和username,如下圖
1.3 參數(shù)設計
打開參數(shù)設計界面,參數(shù)控件布局如下
l username控件類型為下拉框,數(shù)據(jù)自定義,如圖
l state控件類型選擇單選按鈕組,數(shù)據(jù)也為自定義,如圖
1.4 添加事件
在username的事件編輯中添加編輯后事件,JS代碼如下
var state= this.options.form.getWidgetByName("state");
var username = this.options.form.getWidgetByName("username").getValue();
if (!username){
state.setValue(2);
}else{
state.setValue(1);
}
該段代碼是用來對state參數(shù)置數(shù),當username為空時,!username為真,此時將state置數(shù)為2,否則當username有值時,將state置數(shù)為1,如圖所示
2. 保存并預覽
點擊設計器分頁預覽,當username有值時,state置為1
注意:state無法通過username置數(shù)為0,JS里面,state為0,默認返回false
且一個控件無法對另一個控件的顯示值進行置數(shù)
文章轉自:http://reportblog.cn/archives/927