表單填報觸發事件
表單控件的取值與置數
使用FineReport報表軟件時,在填報頁面,也可以得到各控件的值及對控件進行置數,方法與參數界面中類似。
// 獲得當前控件輸入的值
var[Value] = this.getValue();
// 通過單元格名稱獲取其他單元格的值
var[curLGP] = arguments[1];//首先,獲得當前form對象
var [Cellvalue] = curLGP.getCellValue("[Cell]");//通過單元格名稱獲得Cell單元格的值
// 對單元格進行置數并顯示
var[curLGP] = arguments[1];//首先,獲得當前form對象
curLGP.setCellValue("[Cell]", null, [Value]);//給單元格Cell置數,改變其實際值,但不顯示,字符串需要加上引號
curLGP.displayTDCell($("#[Cell]-0"), [Value]);//表示顯示出Cell單元格的實際值Value
實例:
該實例實現了在填報頁面上用一個表單控件控制另一個表單控件,當控件1輸入之后,取控件2的值,判斷一下條件,若不符合條件,則置數,符合則不變。
1. 設計模板
1.1 新建報表
1.2 模板設計,如圖所示

1.3 設置控件屬性

1.4 添加事件
在A2單元格控件的事件編輯中添加編輯結束事件,具體JS代碼為:
varcurLGP = arguments[1];
var C2value = curLGP.getCellValue("C2");
if(C2value != 10){
curLGP.setCellValue("C2", null, "10");
curLGP.displayTDCell($("#C2-0"), "10");
}
說明:
varcurLGP = arguments[1];//獲得本form對象
varC1value = curLGP.getCellValue("C2");//獲得C2單元格的值
curLGP.setCellValue("C2", null, "10");//給C2置數,改變其實際值,但不顯示
curLGP.displayTDCell($("#C2-0"), "10");//表示顯示出C2的實際值
具體如圖所示

2. 保存并預覽
點擊java報表設計器中的填報預覽,效果如圖

在控件1中輸入數據后回車,這時觸發編輯結束事件,取C2單元格的值,根據判斷,不是10,此時將C2單元格置數為10

文章轉自:http://blog.chinaunix.net/u/17568/showart.php?id=2320670