文章转自:http://blog.chinaunix.net/u/17568/showart.php?id=2320670
表单填报触发事件
表单控件的取值与置数
使用FineReport[url=http://www.finereport.com/]报表工具[/url]时,在填报页面,也可以得到各控件的值及对控件进行置数,方法与参数界面中类似。
// 获得当前控件输入的值
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    新建[url=http://www.finereport.com/]报表[/url]
1.2    模板设计,如图所示
[img]http://www.finereport.com/forumimages/e201.png[/img]

1.3    设置控件属性
 
[img]http://www.finereport.com/forumimages/e202.png[/img]
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的实际值
具体如图所示
 
[img]http://www.finereport.com/forumimages/e203.png[/img]
2.    保存并预览
点击web[url=http://www.finereport.com/]报表[/url]设计器中的填报预览,效果如图
 
[img]http://www.finereport.com/forumimages/e204.png[/img]
在控件1中输入数据后回车,这时触发编辑结束事件,取C2单元格的值,根据判断,不是10,此时将C2单元格置数为10
 
[img]http://www.finereport.com/forumimages/e205.png[/img]