报表知识库
我要提问

动态隐藏数据行(动态宏实现)

动态隐藏数据行(一)

需求描述

客户预想点击某行,某行数据,就自动隐藏。

需求实现

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就不会检索出来,也就有了动态隐藏行的效果。

标签: