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 模板设计

报表制作模板定义如下

Java报表软件中参数为空选出全部_第1张图片

绑定数据列

Java报表软件中参数为空选出全部_第2张图片
   1.3
参数设计界面

1.3.1 打开参数设计界面,按照下图安排参数的位置

Java报表软件中参数为空选出全部_第3张图片  
    
1.3.2 控件设置

定义参数classno控件类型为下拉框,其他定义如下图

Java报表软件中参数为空选出全部_第4张图片
定义参数studentno控件类型为下拉框,并以classno的值进行关联查询,定义如下

Java报表软件中参数为空选出全部_第5张图片
说明:动态SQL语句SELECT * FROM STSCORE where ClassNo = '${classno}'表示直接从数据表STSCORE选取符合参数classno的数据

1.4 保存并预览

点击设计器上的分页预览,页面如下图,不输入参数值,直接点击查询按钮,返回全部数据:

Java报表软件中参数为空选出全部_第6张图片  
2.报表参数实现参数为空选出全部

2.1 定义数据源

新建名为ds1的数据库查询,SQL语句:SELECT * FROM StScore

2.2 模板设计、绑定数据列,步骤与1.4中完全相同,此处不用赘述

2.3 定义报表参数

在菜单栏选择报表|报表参数,打开报表参数面板,添加classnostudentno两个参数,默认值选择字符串形式,并留空,即表示默认值为空值,如下图

Java报表软件中参数为空选出全部_第7张图片  
2.4 添加过滤

选中A2单元格,添加过滤条件

Java报表软件中参数为空选出全部_第8张图片
说明:其中if(len($classno)==0,nofilter,$classno)表示若参数classno为空,则不过滤,否则返回参数值。

2.5 参数设计界面

同步骤1.3

2.6 保存并预览

Java报表软件中参数为空选出全部_第9张图片
文章转自:http://blog.vsharing.com/fanfanzheng/A1303633.html



欲了解更多中式java报表软件?请点击

你可能感兴趣的:(Java报表软件中参数为空选出全部)