实现报表组参数查询
实现报表组参数查询
对普通的报表可以进行参数查询,报表组也同样可以,只需要将组内各报表设置好参数之后,再设置一下报表组参数就可以了。
比如,在订单表和订单明细表中,我们将两个表的订单ID设置为参数。单独将报表发布后,看到的查询页面如下图所示。
订单查询页面:

订单明细查询页面:

虽然分别都可以达到要求,但我们更希望报表组可以统一查询。下面来介绍一下这个功能的实现方法,同时介绍报表组参数的工作方法。
与普通报表的参数设置类似,首先要统一对参数进行定义。在报表组设计界面选择配置-参数,添加新参数orderid,如下图:

这个参数将在整个报表组内可用,但注意是报表组内,不是组内的报表内。要把这个参数引入报表内,例如sheet1表内,在sheet1页面右键选择设置或者直接双击sheet1页面,单击“+”按钮来添加sheet1表对应的参数,如下图所示。

这里的名称对应着报表内的参数设置中的名称,例如在本例中,sheet1中的订单表的订单ID参数名为arg1,这里的名称就写成arg1,这样这个参数就可以直接传给订单表的arg1参数。
表达式即参数的值,这里写入orderid,引用刚才定义的报表组参数。
用同样的方法,为设置sheet2设置同样的参数(订单明细表中的订单ID参数名也为arg1)。

至此,报表组的参数就设置好了,保存报表组。
为了方便地在网页上实现参数查询,在发布之前我们还需要设计一个简单的参数查询报表。如下图所示。

为B2单元格设置变量名,因为这个参数查询报表是为整个报表组的查询设计的,所以应该使用报表组参数,故变量名设置为orderid。然后在报表属性中,将报表设置为可以填报。

将报表设为可填报,然后就可以保存了,这里我们保存为“订单_arg.raq”。
然后就可以发布了,用如下图所示的jsp文件来发布这个带参数的报表组。

将图中红框部分填写为设计好的参数查询报表的文件名即可。 网页上的效果如下图所示。

随意输入一个订单号来查询: sheet1:

sheet2:
