利用动态参数默认不查询任何数据

该帖子主要实现的功能是:

    第一次展现报表不显示全部数据,通过参数模板输入参数查询到数据之后,当所有的参数再次置空的时候要做到显示全部数据。

第一步:制作主报表的,拿我们的自带的数据库表雇员表举例:

     之前我们的 sql 写   or  ? is  null  是当参数为空的时候 时候查询全部, 然后我们在这个 sql 语句后面拼接一个动态参数 ${ifSelect}

sql 语句为 :    SELECT *  FROM 雇员 where  雇员 ID   =?  or  ? is  null    ${ifSelect}

      1) 在数据集参数增加两个参数   arg1.      

      2) 报表参数增加两个普通参数   arg1   和   selectFlag     ,增加一个动态参数  ifSelect   动态参数的值表达式写 if(selectFlag!=“1”,“and 1=2”,"")

imagepng

第二步:制作参数表单。

1)设置一个单元格的 web 变量名为 arg1 。 用来给主报表的雇员 ID 传递参数值

2) 给某一个单元格默认值,直接在单元格写 1 。 然后设置 web 变量名为 selectFlag。然后隐藏这个单元格。

imagepng

保存报表和参数模板。发布报表即可。