簡體   English   中英

是否可以將 javascript 嵌入到 SSRS 報告中?

[英]Is it possible to embed javascript into an SSRS Report?

SQL Server 報表可以嵌入 vbscript 並執行客戶端,但可以用 javascript 來完成嗎? 我認為能夠執行 jQuery 和 CSS 操作客戶端以創建更具交互性的向下鑽取體驗會有很大的效用。

我們在談論 SQL Server Reporting Services 嗎?

如果是這樣,我還沒有見過這樣做的方法。 不過,我承認這個想法讓我的皮膚爬行。

編輯

這是一個使用 JavaScript 在超鏈接中打開單獨窗口的小示例

這篇博客文章可能包含有關報告服務中一些有趣的 JavaScript 技術的更好信息。

在我看來,Reporting Services 是您工作的錯誤前端。 RDL(報告定義)文件基本上是 XML。 我不知道將代碼添加到 XML 的方法。

如果您認為 RDL 輸出是您的“數據”,那么以任何方式在此處容納任何行為都沒有任何意義。 相反,您可能希望構建一個前端,該前端可以使用最終報告輸出,然后提供您正在尋找的體驗。

我知道這是一個舊帖子,但是像這樣的東西很好用

="javascript:void(window.open('https://" + Parameters!ServerName.Value + "/ReportServer/Pages/ReportViewer.aspx?%2f" + Parameters!Environment.Value + "%2fSSRS+Reports%2fReports %2fVE%2fMy+Reports%2fData+View%2fReport+Name%2f60-Your-Report&rs:Command=Render','_blank'))"

關於這篇文章,我有一個重要的說明要添加,如果您嘗試使用 Visual Studio (BIDS) 中的 PREVIEW 測試 SSRS 報告中的 javascript,它將不會在預覽模式下運行,但是在您將報告部署到實際報告服務器之后,然后在 Web 瀏覽器中查看報告時 javascript 將起作用。 這給我帶來了很多困惑,我希望能省去其他人的麻煩。

這是我在 SSRS 中經常使用 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,您可以在 TextBox 的操作區域中使用 Javascript 創建超鏈接,選擇“轉到 URL”並插入以下內容:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM