报表知识库
动态隐藏数据行(动态宏实现)
动态隐藏数据行(一)
需求描述
客户预想点击某行,某行数据,就自动隐藏。
需求实现
1.连接demo数据源,以SQL检索的方式创建数据集“SELECT * FROM 订单 where ${macro1}”。
2.定义参数flag,设置如下图所示。
3.定义一个动态宏,名为“macro1”,值表达式为:“if(flag==null,”订单ID!=99999999″,”订单ID not in (“+flag+”)”)”如下图所示。
4.报表设计如下图所示,我们在A2的超链接属性中设置表达式为” “”/reportJsp/showReport.jsp?raq=/动态隐藏数据行.raq&flag=”+value()+
if(flag==null,”",”,”)+flag”。
5.发布报表,指向要隐藏行的订单ID,我们在状态栏中可以看到订单ID作为一个标记参数传递过去了。
6.点击订单ID=10248的记录,页面刷新后显示如下图所示,订单ID=10248的记录已经被隐藏。
详细说明
本例主要是通过超链接,传递参数作为标志预想隐藏的记录,拼接出动态宏的表达式,在数据集中将相应的订单ID做为过滤条件,进行数据过滤,这样选择过的订单ID就不会检索出来,也就有了动态隐藏行的效果。