BIRT报告 - 通过脚本添加参数

时间:2014-01-08 10:07:23

标签: javascript reporting-services birt

我有一个使用如下查询的BIRT报告。

select Dealer, Name from customerA where id = ? union all select Code as Dealer, last_name as Name from customerB where id = ? union all select Num as Dealer, owner as Name from customerC where id = ?

我在报告中有一个输入文本框和一个刷新按钮,用于重新加载报告。 我的报告也有一个名为'CUST_ID'的参数,我把它绑定在数据集中作为param_1,param_2和param_3替换为'?'执行时标记。

如果我在参数弹出屏幕上输入参数报告工作正常,但我需要在文本框中输入id,然后我按相应的刷新链接重新加载报告。

如何添加输入文本值(我知道我可以从脚本中获取)并将其设置为报告参数“CUST_ID”?

非常感谢您的帮助。

提前谢谢。

1 个答案:

答案 0 :(得分:3)

我能够通过在BIRT中使用脚本来解决这个问题。下面我列出了我遵循的步骤。

1.添加一个脚本,在页面加载时启动请求参数。    报告网址我可以在普通的javascript函数中使用var link=this;进行访问。

2.将我的参数添加到上面james提到的请求的末尾。谢谢詹姆斯。

3.替换新创建的网址link.href=url;这将使用我在输入框中输入的值刷新报告。

4.在数据集中,我将查询修改为'Select name from customerA',没有任何where子句。

5.dataset beforeOpen脚本我添加了这些行,并相应地过滤了记录。

this.queryText += "where id ="+reportContext.getParameterValue("cust_id");
reportContext.setParameterValue("debug", this.queryText);