使用javascript填写SSRS中的字段

时间:2014-01-28 10:15:55

标签: javascript reporting-services

我有一个SSRS报告,其中包含检测报告网址的功能(报告显示tvo不同的值,取决于网址) 我用:

="javascript: var name=document.URL; var n=name.indexOf('hsbportalen.se'); if(n > 0) { void window.open('http://www.google.com',800,800,'_blank')} else { void window.open('http://www.msn.com',800,800,'_blank')}"

但我现在想要的是如何在文本字段(Textbox42)中使用JavaScript依赖于url设置值。

1 个答案:

答案 0 :(得分:0)

您会发现SSRS不支持JavaScript,期间。您可以通过SSRS传递的唯一功能是您的Web浏览器可以在脚本文件之外解释的功能。根据我的发现,这是一组非常有限的命令。

例如,您可以使用Window.Open('')和void()以及其他一些内容。我从来没有能够获得一个If语句,当然也不能通过SSRS获得解析()。

我必须这样做几次,如果你和我在同一条船上,你会发现最简单的方法就是做以下其中一种:

选项1:从一个SSRS报告转到另一个,从网址提取数据

转到当前网址的来源并重新构建您收到的网址。例如,您可以使用"转到网址"为drop the breadcrumbs Report Server rs & rc parameters并使用here的报告创建自定义网址的操作。基本上,为了使这项工作,你想要从URL解析的任何变量首先被创建为目标报告中相应类型的参数,然后你将该值传递给该报告的URL。

场景2:来自外部网站,从网址提取数据

我也必须这样做,但它涉及的更多一些。你需要的是一个中间网页。一个立即打开和关闭,它基本上完成的是将您重定向到您希望用户去的地方。要完成此操作,请按照下列步骤操作:

首先,在您要阅读网址的报告中创建一个参数。该参数应该是适当的类型,以存储要从URL读取的数据(即URL_Data)

其次,创建一个位于网址所在的中间网页。您可以使用" Loading ..."等消息构建要打开的页面。或者"请稍候......" (以防用户看到它)。

在中间页面的脚本中,

第三,让它解析您尝试捕获的URL中的数据。然后,将该数据合并到指向所需SSRS报告的自定义URL中,并将URL数据作​​为参数包含在内。

有关如何生成可包含参数值的自定义网址的详细信息,请参阅here和{{3}}。

http://SSRS_Server/reportserver/Pages/ReportViewer.aspx?/directory/Sample_Report&URL_Data=URL_Snippet

最后,在中间网页上完成JavaScript以在新窗口中打开SSRS URL并关闭当前页面。

现在,您可以在任何地方使用该参数的值。