最新历史版本 :下拉框参数为空选择全部 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

在线视频学习请查看:参数为空选全部

使用参数进行报表数据查询时,如果控件中参数值为空(控件中不输入参数值),点击查询后,不会显示任何报表数据。如下图所示:

Snag_47e0797.png

我们需要实现的效果是,当控件中参数值为空,点击查询后,会显示报表中的全部数据。如下图所示:

Snag_486498b.png

注:使用模板参数和数据集参数设计出来的查询报表,在实现参数为空选全部时设置方法有所不同,要加以区分,下面也会分开介绍。

2. 示例编辑

2.1 模板参数为空选全部

1)新建数据集ds1,输入数据库查询语句SELECT * FROM 订单,查询出订单表中的所有数据。

Snag_496df74.png

2)定义一个模板参数「货主地区」,设置其默认值为「华北」。

Snag_4b3b47f.png

3)按照下面表格中的说明,设计报表的样式。

单元格操作
A1~I1单元格依次写入标题字段:订单编号、客户名称、订购日期、发货日期、运货商、货主名称、货主地址、货主城市、货主地区。选中 A1~I1 单元格设置预定义样式Head
A2~I2单元格依次拖入数据集中的数据列字段:订单ID、客户ID、订购日期、发货日期、运货商、货主名称、货主地址、货主城市、货主地区。选中 A2~I2 单元格,字体居中。选中 C2~D2 单元格,设置日期格式为yyyy-MM-dd
A1~I2选中 A1~I2 单元格,给表格整体添加预定义样式默认的天蓝色内外框

Snag_4b6d528.png

4)给模板参数「货主地区」添加控件,设置下拉框控件的数据字典为订单表中的数据列货主地区

Snag_4c86223.png

5)给单元格 A2 添加数据过滤条件。双击 A2 单元格,在弹出的数据列对话框中选择过滤,添加一个普通条件,让数据列货主地区等于公式if(len($货主地区)==0,nofilter,$货主地区),点击增加,点击确定,即通过添加过滤条件的方式实现参数为空选全部的效果。

注:nofilter 表示不过滤,if(len($货主地区)==0,nofilter,$货主地区) 表示参数「货主地区」为空,就不过滤数据,若不为空则以参数值进行过滤。

Snag_4c9ba50.png

2.2 数据集参数为空选全部

1)新建数据集ds1,输入数据库查询语句:

SELECT * FROM 订单 

WHERE 1=1  

${if(len(area) == 0,"","and 货主地区 = '" + area + "'")}

在定义数据集参数时给它设置条件来实现参数为空选全部的效果,此时数据集参数为「area」。

where 1=1 表示条件永真,防止没有参数条件时,where 后面没有有效内容导致出错。

len(area)==0 表示参数「area」为空。

"and 货主地区='"+area+"'" 中间的「area」表示取参数值,'+' 为字符串拼接符号。

${if(len(area) == 0,"","and 货主地区 = '" +area + "'")} 表示:

参数「area」为空时,查询语句相当于:SELECT * FROM 订单

当参数「area」不为空时,查询语句相当于:SELECT * FROM 订单 WHERE 1=1 and 货主地区='${area}'

Snag_3a97f25.png

2)按照下面表格中的说明,设计报表的样式。

单元格操作
A1~I1单元格依次写入标题字段:订单编号、客户名称、订购日期、发货日期、运货商、货主名称、货主地址、货主城市、货主地区。选中 A1~I1 单元格设置预定义样式Head
A2~I2单元格依次拖入数据集中的数据列字段:订单ID、客户ID、订购日期、发货日期、运货商、货主名称、货主地址、货主城市、货主地区。选中 A2~I2 单元格,字体居中。选中 C2~D2 单元格,设置日期格式为yyyy-MM-dd
A1~I2选中 A1~I2 单元格,给表格整体添加预定义样式默认的天蓝色内外框

Snag_51cb173.png

3)给数据集参数「area」添加控件,设置下拉框控件的数据字典为订单表中的数据列货主地区

Snag_3baf79e.png

4)修改标签控件的显示值为「货主地区:」。

Snag_3bdbe6f.png


3. 效果预览编辑

3.1 PC端

保存报表,分页预览查看报表。

512A36DC-F078-449C-AAB6-C96F8AB4898A.GIF

3.2 移动端

移动端查看报表的方式参见 报表移动端预览

1567597701294363.gif

4. 已完成模板编辑

已完成模板可参见:

%FR_HOME%\webroot\WEB-INF\reportlets\demo\NewbieGuide\下拉框模板参数为空选全部.cpt

%FR_HOME%\webroot\WEB-INF\reportlets\demo\NewbieGuide\下拉框数据集参数为空选全部.cpt

点击下载模板:

下拉框模板参数为空选全部.cpt

下拉框数据集参数为空选全部.cpt