Posted on 2010-09-15 16:01
FineReport——報表技術領跑者 閱讀(104)
評論(0) 編輯 收藏 所屬分類:
Java報表技術知識
在使用Java報表軟件實現填報時,有時需要在編輯完數據后跟其他具體某個格子對比,進行及時校驗。當報表中提供的及時校驗不能滿足需求時,可以通過JS事件來進行及時校驗。
以FineReport為例,介紹下如何用Java報表軟件內置JS及時校驗-跨格數據校驗
1. 設計模板
2.1 打開報表軟件,新建報表
2.2 模板設計,如下圖所示

2.3 控件設置

2.4 添加事件
l 對B2單元格控件添加編輯結束事件:
var D2value = arguments[1].getCellValue("D2");
if (this.getValue() < D2value){
FR.Msg.alert(FR.i18n.Alert, "該值不能小于" + D2value);
return false;
}
說明:D2value是自定義變量,用于獲得D2單元格的值,if語句是用來判斷該單元格輸入后的值是否小于D2value,如果是則彈出警告:該值不能小于6。

l 對B3單元格控件添加編輯結束事件:
var D3value = arguments[1].getCellValue("D3");
if (this.getValue() != D3value){
FR.Msg.alert(FR.i18n.Alert, "該值應等于" + D3value);
return false;
}
說明:D3value是自定義變量,用于獲得D3單元格的值,if語句是用來判斷該單元格輸入后的值是否等于D3value,如果不是是則彈出警告:該值應等于abc。

2. 保存并預覽
點擊填報預覽,在B2單元格中輸入數字5,并按回車確定,則彈出警告,如圖

在B3單元格中輸入add,并按回車確定,也彈出校驗警告,如圖

文章轉自:http://blog.donews.com/finereport/archive/2010/09/14/1583608.aspx