Posted on 2010-10-27 13:49
FineReport——报表技术领跑者 阅读(131)
评论(0) 编辑 收藏 所属分类:
Java报表技术知识
在Java报表的实际应用中,常常会遇到这样的情况,设计器预览时输入的参数值数据正常变化,但是在浏览器进行分页预览时,更改参数值报表查询出的数据却不变。
对于这种情况,可能的原因是报表软件的参数界面中参数控件的名字与参数名不一致导致,需要核对控件名。该错误常常发生在如报表设计过程中,某张模板已经做好,但由于需要修改了参数定义,未对参数界面作相应的修改的时候。
如下以实际的例子演示。
1. 新建报表
2. 定义数据集
新建数据库查询ds1并定义数据源参数class,SQL语句为:
SELECT * FROM STSCORE where ClassNo = '${class}'
3. 模板制作
如下制作报表
4. 定义参数界面
使用默认的参数界面,如下图:
5. 修改参数定义
由于需要,将数据源参数名改为classno,如SELECT * FROM STSCORE where ClassNo = '${classno}'
但未对参数界面进行修正,参数控件名仍为class,如下图
6. 保存并预览
保存模板,进行设计器预览,对classno赋值能正确获得结果。但点击设计器分页预览,在参数界面中设置参数值时,由于在参数界面中输入的值是赋给参数控件,而参数控件又根据控件名与参数一一对应起来,此时控件名为class,而参数已变为classno,因此参数不能正确获得值,查询结果便出错了。
文章转自:http://ajavareport.cn/archives/557