代码好多~~||,你要不试试用finereport吧,不需要写这么多代码也能实现的。
3.1 模板设计
表样设计如下:
设置B2单元格的控件类型为数字型,设置B3单元格的控件类型为文本
3.2 JS事件设置
对B2单元格控件设置事件编辑,添加编辑结束事件,具体JS代码如下:
1.var D2value = contentPane.curLGP.getCellValue("D2") //获取D2单元格的值
2.if (this.getValue() < D2value){ //判断输入值是否小于D2单元格值
3. FR.Msg.alert(FR.i18n.Alert, "该值不能小于" + D2value) //d出对话框
4.return false
5.}
对B3单元格控件进行事件编辑,添加编辑结束事件,具体JS代码如下:
1.var D3value = contentPane.curLGP.getCellValue("D3") //获取D3单元格的值
2.if (this.getValue() != D3value){ //判断输入是否与D3单元格相等
3.FR.Msg.alert(FR.i18n.Alert, "该值应等于" + D3value) //d出对话框
4. return false
5.}
其中,D3value是自定义变量,用于获得D3单元格的值,if语句是用来判断该单元格输入后的值是否等于D3value,如果不是是则d出警告:该值应等于abc。
3.3填报预览
点击填报预览,在B2单元格中输入数字1,并按回车确定,则d出警告,如下图:
在B3单元格中输入add,并按回车确定,也d出校验警告,如下图:
这个是跟你的数据量、服务器性能、查询语句的合理性等都有关系的。如果前两部分没办法优化的话,就要优化查询语句,原则就是用最简洁的语句查询出最直接的结果,不要查询那些冗余数据,还有就是减少查询语句的数量,尽量用润乾子自带函数来补充。报表是门学问,会做不难,难的是用最快的速度展现所要的数据。多联系几次就行了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)