Posted on 2010-09-15 16:01
FineReport——报表技术领跑者 阅读(99)
评论(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