是否可以将javascript嵌入到SSRS报告中?

是否可以将javascript嵌入到SSRS报告中?,javascript,jquery,sql-server,report,Javascript,Jquery,Sql Server,Report,SQLServer报表可以嵌入vbscript并在客户端执行,但javascript也可以这样做吗?我认为,能够在客户端执行jQuery和CSS操作,以创建更具交互性的深入体验,这将是一个非常有用的工具。我们是在谈论SQL Server Reporting Services吗 如果是这样的话,我从来没有见过这样做的方法。不过,我承认这个想法让我毛骨悚然 编辑 下面是一个使用JavaScript在超链接中打开单独窗口的示例 对于reporting services中一些有趣的JavaScript技

SQLServer报表可以嵌入vbscript并在客户端执行,但javascript也可以这样做吗?我认为,能够在客户端执行jQuery和CSS操作,以创建更具交互性的深入体验,这将是一个非常有用的工具。

我们是在谈论SQL Server Reporting Services吗

如果是这样的话,我从来没有见过这样做的方法。不过,我承认这个想法让我毛骨悚然

编辑

下面是一个使用JavaScript在超链接中打开单独窗口的示例


对于reporting services中一些有趣的JavaScript技术,这可能包含更好的信息。

在我看来,reporting services不适合您的工作。RDL(报表定义)文件基本上是XML。我不知道如何将代码添加到XML中


<>如果你认为RDL输出是你的“数据”,那么在任何地方使用任何行为都是没有意义的。相反,您可能希望构建一个前端,该前端可以使用最终报告输出,然后提供您想要的体验。

我知道这是一篇老文章,但是类似的东西很好用


=“javascript:void(window.open('https://“+参数!ServerName.Value+”/ReportServer/Pages/ReportViewer.aspx?%2f”+参数!Environment.Value+%2fsrs+报告%2fstrs%2fVE%2fry+报告%2fData+视图%2fReport+名称%2f60您的报告&rs:Command=Render',“\u blank”)”

可能会延迟回复,但对其他人有帮助


关于这篇文章,我有一个重要的注意事项要补充,如果您尝试在Visual Studio(BIDS)中使用预览测试SSRS报告中的javascript,它将不会在预览模式下运行,但是在您将报告部署到实际的报告服务器之后,javascript将在web浏览器中查看报告时工作。这给我带来了很多困惑,我希望能为其他人省去麻烦。

下面是一个具体的例子,说明我在SSR中频繁使用javascript的时间和原因。在SSRS报告中,有指向SSRS之外的web服务或其他应用程序的超链接是很好的。在下面的示例中,在SQL中创建一个“链接”字段,并在SSRS报告中使用该字段来创建指向MS Dynamics CRM的超链接,该链接指向特定潜在客户的特定商机

首先,创建http链接字段,如下所示。。。如果不需要为不同的环境提供不同的链接,请忽略case语句

   ,case
        when @@SERVERNAME like '%CF-PROD%' then 'http://cf-prod-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        when @@SERVERNAME like '%CF-STG%' then 'http://cf-stg-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        when @@SERVERNAME like '%CF-QA%' then 'http://cf-qa-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        when @@SERVERNAME like '%CF-DEV%' then 'http://cf-dev-crm01:5559/crm.ashx?id=' + CAST(c.OpportunityID as varchar(36))
        END AS 'CRMOpportunityLink'
要进行测试,如果您要复制该链接并手动将其放入特定应用程序的浏览器中,则该链接应能正常工作

在报告(如SSRS)中,您可以在文本框的操作区域中使用Javascript创建超链接,选择“转到URL”并插入以下内容:

"javascript:void(window.open('" + Fields!CRMOpportunityLink.Value + "','_blank'))")

是的,但是有什么让你害怕的?谢谢你,老兄!只是想用这个问题跳出框框思考一下。上面指向“高级javascript”的链接不再有效;有人有更新过的链接吗?我大部分同意。我倾向于回避那些试图让报告做得比它应该做的多得多的请求。当我在SSRS中设计报告时,我想要的是打印时最好的东西(因为这是除了PDF之外的主要媒体)。在设计报告时,有大量的使用和机会使用代码-文本、颜色、大小、,等等,更不用说报表级别的VBscript函数了。谢谢-我忘记了这个问题:)