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

1.3 設(shè)置控件屬性

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

2. 保存并預(yù)覽
點(diǎn)擊java報(bào)表設(shè)計(jì)器中的填報(bào)預(yù)覽,效果如圖

在控件1中輸入數(shù)據(jù)后回車(chē),這時(shí)觸發(fā)編輯結(jié)束事件,取C2單元格的值,根據(jù)判斷,不是10,此時(shí)將C2單元格置數(shù)為10

文章轉(zhuǎn)自:http://blog.chinaunix.net/u/17568/showart.php?id=2320670