【问题标题】:How do I create an SSRS report that will drill into a detail report, while opening the detail report in another tab?如何在另一个选项卡中打开详细报告时创建将深入到详细报告的 SSRS 报告?
【发布时间】:2017-04-20 23:56:33
【问题描述】:

我创建了一个 SSRS 报告,该报告可以深入到详细报告。然后详细报告深入到子详细报告。当前的问题是:最终用户要求在浏览器的新选项卡上打开每个钻取报告。

我想我会在文本框属性中使用 Javascript 来完成这项工作。但是,我在 Javascript 语法方面并不那么强。下面粘贴的是我尝试过的:

="javascript:void window.open(" &"'"& Globals!ReportServerUrl &"/Pages/ReportViewer.aspx?"
&Globals!ReportFolder &"/Data Movement Detail.rdl
&ProcessID="&Parameters!ProcessName.Value &"
&RunID = "&Fields!RunID.Value &"
 ','_blank')"

这根本不起作用。非常感谢任何想法或解决方案。

以下更新尝试:

="javascript:void(window.open('http://Yeahyeahyea/Reports/Pages/Report.aspx?ItemPath=%2fCorporate+Reports%2fThis+Folder%2fSub+Folder+Detail&ProcessID=Parameters!ProcessName.Value&RunID=Fields!RunID.Value','_blank'))"

【问题讨论】:

  • 你在正确的轨道上。在您尝试在报告中创建它之前,我会测试该 URL 并让它在浏览器中运行。 URL 必须经过编码,因此请将报告名称中的空格替换为“+”。不要在 RunID 之后的等号周围放置空格。
  • 我觉得上面的代码很复杂,很难理解。我的更新尝试更接近。但由于某种原因,我的参数没有被传递。不过感谢您的洞察力。
  • 更新的尝试中没有“.rdl”。参数和字段引用也需要像以前一样位于字符串之外。

标签: javascript reporting-services


【解决方案1】:

我想我会发布一个为未来用户回答我的问题的工作示例:

="javascript:void(window.open(" &"'"& Globals!ReportServerUrl &"/Pages/ReportViewer.aspx?%2fCorporate+Reports%2fSub+Folder%2fDetail+Report&ProcessID="&Parameters!ProcessName.Value(0) &"&RunID="&Fields!RunID.Value &"','_blank'))"

【讨论】:

  • 如果将父报表嵌入到 iframe 中将不起作用
猜你喜欢
  • 1970-01-01
  • 2011-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多