在使用Java報(bào)表工具實(shí)現(xiàn)填報(bào)時(shí),有時(shí)需要在編輯完數(shù)據(jù)后跟其他具體某個(gè)格子對比,進(jìn)行及時(shí)校驗(yàn)。當(dāng)報(bào)表中提供的及時(shí)校驗(yàn)不能滿足需求時(shí),可以通過JS事件來進(jìn)行及時(shí)校驗(yàn)。
以FineReport為例,介紹下如何用Java報(bào)表工具內(nèi)置JS及時(shí)校驗(yàn)-跨格數(shù)據(jù)校驗(yàn)
1. 設(shè)計(jì)模板
2.1 打開報(bào)表工具,新建報(bào)表
2.2 模板設(shè)計(jì),如下圖所示

2.3 控件設(shè)置

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

2. 保存并預(yù)覽
點(diǎn)擊填報(bào)預(yù)覽,在B2單元格中輸入數(shù)字5,并按回車確定,則彈出警告,如圖

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

文章轉(zhuǎn)自:http://blog.donews.com/finereport/archive/2010/09/14/1583608.aspx
了解Java報(bào)表工具就從這里開始
posted on 2010-09-15 17:16
season 閱讀(225)
評論(2) 編輯 收藏 所屬分類:
Java報(bào)表—技術(shù)知識