[Java报表软件—技术知识]Java报表软件中参数为空选出全部 |
在Java报表软件中,选择特定的参数后,会返回我们要查询的数据,然而假如没有输入参数值,我们却仍需要返回数据时该怎样处理呢?以下就用FineReport报表软件的一个例子实现这种参数为空时返回所有数据的效果,介绍数据源参数与报表参数的实现方法。
1.数据源参数实现参数为空选出全部
1.1 定义数据源
新建名为ds1的数据库查询,SQL语句
SELECT * FROM StScore WHERE 1=1
${if(len(classno) == 0,""," and ClassNo = '" + classno + "'")}
${if(len(studentno)==0,""," and StudentNo = " + studentno )}
说明:
where 1=1表示条件永真,防止没有之后的参数条件时,where多出而导致出错;
len(classno) == 0表示参数为空;
${if(len(classno) == 0,""," and CLASSNO = '" + classno + "'")}表示当参数classno为空时,就返回空字符串,否则返回查询条件and CLASSNO = ' classno' 。
1.2 模板设计
报表制作模板定义如下
500)this.width=500'>
绑定数据列
500)this.width=500'>
1.3 参数设计界面
1.3.1 打开参数设计界面,按照下图安排参数的位置
500)this.width=500'>
1.3.2 控件设置
定义参数classno控件类型为下拉框,其他定义如下图
500)this.width=500'>定义参数studentno控件类型为下拉框,并以classno的值进行关联查询,定义如下
500)this.width=500'>说明:动态SQL语句SELECT * FROM STSCORE where ClassNo = '${classno}'表示直接从数据表STSCORE选取符合参数classno的数据
1.4 保存并预览
点击设计器上的分页预览,页面如下图,不输入参数值,直接点击查询按钮,返回全部数据:
500)this.width=500'>
2.报表参数实现参数为空选出全部
2.1 定义数据源
新建名为ds1的数据库查询,SQL语句:SELECT * FROM StScore
2.2 模板设计、绑定数据列,步骤与1.4中完全相同,此处不用赘述
2.3 定义报表参数
在菜单栏选择报表|报表参数,打开报表参数面板,添加classno和studentno两个参数,默认值选择字符串形式,并留空,即表示默认值为空值,如下图
500)this.width=500'>
2.4 添加过滤
选中A2单元格,添加过滤条件
500)this.width=500'>说明:其中if(len($classno)==0,nofilter,$classno)表示若参数classno为空,则不过滤,否则返回参数值。
2.5 参数设计界面
同步骤1.3。
2.6 保存并预览
500)this.width=500'>
文章转自:http://blog.vsharing.com/fanfanzheng/A1303633.html
|
|
|

.: 公告
本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。 |
|
« | August 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | | | | |
|
.: 我的分类(专题)
|

.: 最新日志
.: 最新回复
|

blog名称:Java报表软件 日志总数:357 评论数量:69 留言数量:0 访问次数:1212735 建立时间:2006年4月16日 |
|

.: 留言板
|

.: 链接
|

|