SQL Server报告可以嵌入vbscript并执行客户端,但是可以使用javascript完成相同的操作吗?我认为能够执行jQuery和CSS操作客户端以创建更具交互性的深入体验会有很大的实用性。
答案 0 :(得分:3)
我们是在谈论SQL Server Reporting Services吗?
如果是这样,我从未见过这样做的方法。不过,我会承认这个想法会让我的皮肤爬行。
修改强>
以下是使用JavaScript在超链接中打开单独窗口的small example。
此blog article可能包含报告服务中一些有趣的JavaScript技术的更好信息。
答案 1 :(得分:3)
听起来像Reporting Services是你工作的错误前端。 RDL(报告定义)文件基本上是XML。我不知道如何向XML添加代码。
如果您认为RDL输出是您的“数据”,那么以任何方式存放任何行为都没有意义。相反,您可能希望构建一个可以使用最终报告输出的前端,然后提供您正在寻找的体验。
答案 2 :(得分:2)
可能是迟到的回复,但对其他人有帮助
答案 3 :(得分:1)
我知道这是一个旧帖子,但是这样的工作正常
=“javascript:void(window.open('https://”+ Parameters!ServerName.Value +“/ ReportServer / Pages / ReportViewer.aspx?%2f”+ Parameters!Environment.Value +“%2fSSRS +报道%2fReports%2fVE%2fMy +报告%2fData +查看%2fReport +名称%2f60-你-报告和放大器; RS:命令=渲染”, '_空白'))“
答案 4 :(得分:0)
我有一个重要的注意事项要添加关于这篇文章,如果你试图在Visual Studio(BIDS)中使用PREVIEW在SSRS报告中测试javascript,它将不会在预览模式下运行,但是在将报告部署到实际的报表服务器,然后javascript将在Web浏览器中查看报表时工作。这给我带来了很多困惑,我希望能为其他人省去麻烦。
答案 5 :(得分:0)
以下是我经常在SSRS中使用javascript的具体示例。在SSRS报告中,很高兴有超链接到Web服务或SSRS之外的其他应用程序。在下面的示例中,在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,您可以在TextBox的Action区域中使用Javascript创建超链接,选择“Go to URL”并插入以下内容:
"javascript:void(window.open('" + Fields!CRMOpportunityLink.Value + "','_blank'))")