【发布时间】:2014-01-08 10:07:23
【问题描述】:
我有一个使用如下查询的 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”?
非常感谢您的帮助。
提前谢谢你。
【问题讨论】:
-
您是否尝试将“CUST_ID”参数添加到刷新报告时使用的 URL 的末尾?它看起来像这样; reports.com/run?__report=YourReport.rptdesign&CUST_ID=Value
-
感谢 @JamesJenkins 的 cmets。问题是我对请求 URL 没有任何控制权。在“刷新”链接中,我只是使用属性链接并给出了相同的报告。我看到我可以通过数据源“beforeOpen”方法上的“this.queryText”获取查询文本。仍然不确定我所做的是否正确,因为我是 BIRT 的新手。再次感谢您的回头。如果您有任何事情请告诉我。
-
我还没有这样做,但我在developer.actuate.com/community/forum 的几篇文章中读到过,我认为您想要做的是重新设计您的刷新按钮,以便您控制 url 并能够在报表运行时使用用户输入的值作为参数创建它。我有几个默认情况下以 html 运行的报告,并包含一个以 xls 运行的链接,我一直在考虑向它们添加结转参数功能,但其他优先级......如果你可以整理一个“如何”的答案我想读。
-
谢谢詹姆斯。就我而言,问题是我在自定义应用程序之上构建此报告,并且该应用程序在内部处理请求和响应。所以除了我可以使用的一些定义的参数外,我没有任何控制权。 :(
标签: javascript reporting-services birt