报表制作中如何实现两个数据集间传递参数

在润乾报表中,普通参数的传递分为报表数据集参数,报表单元格参数等.那么,如果来实现两个数据集间传递参数呢?

两个数据集间传递参数的实现过程是,把第一个数据集的结果当做参数传到第二个数据集中.

第一步:假设我们要把ds1的查询结果当做参数传递到ds2中.我们先看一下ds1和ds2的数据解结构:

ds1:

 

报表制作中如何实现两个数据集间传递参数_第1张图片

 

 

ds2:

 

报表制作中如何实现两个数据集间传递参数_第2张图片

 

 

第二步:设置数据集:

ds1:

 

 

报表制作中如何实现两个数据集间传递参数_第3张图片


ds2:

 

 

报表制作中如何实现两个数据集间传递参数_第4张图片

 

看过数据集的设置,我们就知道了,现在是要把ds1中的userid当作参数来对ds2进行检索.

第三步:这里是关键的一点,就是设置参数来对ds2中的?号进行绑定,进入到ds2数据集参数选项中:


可以看到,我们在参数表达式这里写的是ds1.select(userid),也就是说,?号绑定的是ds检索出来的userid.

第四步:设计报表模版:

 

报表制作中如何实现两个数据集间传递参数_第5张图片



我们预览一下,看一下效果:

 

报表制作中如何实现两个数据集间传递参数_第6张图片

可以看到,ds1中的userid被当作参数传递到了ds2中,然后ds2进行了数据展现.

需要注意的是,当计算ds2时,ds1数据集必须已经产生,也就是说ds1必须放在ds2上边:

报表制作中如何实现两个数据集间传递参数_第7张图片

 

 

数据集解析是有顺序的,所以先要计算出当参数的数据集,然后再利用.

由此我们可以举一反三,多个数据集之间传递参数参考这种办法,就可以去实现多种多样的业务功能了.

转载于:https://www.cnblogs.com/javaReport/archive/2012/04/13/2445930.html

你可能感兴趣的:(报表制作中如何实现两个数据集间传递参数)