报表展开或收缩行
需求背景:
当报表的数据行数比较多的时候,用户想默认显示前10行或前20行,多余的数据先隐藏起来,用户想看多余的数据时候,点击某个按钮就包剩下的数据展示出来。
实现方法:
设计一张报表,如下:
给报表增加一个参数:arg1,默认值为:1
报表会扩展出50行,加上A2和A3其实一共是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,”收缩”按钮隐藏,之前显示的数据再次隐藏起来。
页面效果如下:
点击”展开”,效果如下:
点击”收缩”则回到初始页面。