报表展开或收缩行

需求背景:

报表的数据行数比较多的时候,用户想默认显示前10行或前20行,多余的数据先隐藏起来,用户想看多余的数据时候,点击某个按钮就包剩下的数据展示出来。

实现方法:

设计一张报表,如下:

给报表增加一个参数:arg1,默认值为:1

报表会扩展出50行,加上A2A3其实一共是52行。

选中A1单元格,在隐藏行表达式中写:

if(row()>10 && @arg1==’1′,true,false)//行数大于10,并且参数为1的时候,隐藏行

选中A2,在隐藏行表达式中写:

if(@arg1==’1′,false,true) //当参数值为1的时候不隐藏,否则隐藏

A2的超链接中写:

reportJsp/showReport.jsp?raq=TestHidden.raq&arg1=0 //给参数传值为0 作用是:点击”展开”按钮之后,参数值变成0,”展开”按钮隐藏,之前隐藏的数据显示。

选中A3,在隐藏行表达式中写:

if(@arg1==’0′,false,true) //当参数值为0的时候不隐藏,否则隐藏

A3的超链接中写:

reportJsp/showReport.jsp?raq=TestHidden.raq&arg1=1 //给参数传值为1 作用是:点击”收缩”按钮之后,参数值变成1,”收缩”按钮隐藏,之前显示的数据再次隐藏起来。

页面效果如下:

点击”展开”,效果如下:

点击”收缩”则回到初始页面。