Nonono,請勿使用="javascript:void(window.open(
。
首先,它打破PDF & Excel報表,
和第二,它不IE11工作,可能還 測試它,只是工作在Chrome我。
第三,把它放在一起是一團糟。
有一個更容易&更好的解決方案:
添加&rc:LinkTarget=_blank
到您的報告訪問的URL,如:
https://your-domain.com/ReportServer/Pages/ReportViewer.aspx?%2fJPD%2fPO_Dashboard%2fJuvenile_Profile&rs:Command=Render&rc:LinkTarget=_blank
,它會在新窗口中打開。
編輯:
如果你想使自己的顯示頁面:
這是你如何讓所有的報告:
USE [ReportServer$MSSQL_2008_R2]
SELECT
[ItemID]
,[Path]
,[Name]
,[ParentID]
FROM [Catalog]
WHERE Type = 2
這就是你怎麼可以顯示所有文件夾/報道在x級
;WITH CTE AS
(
SELECT
[ItemID]
,[Path]
,[Name]
,[ParentID]
,0 AS lvl
,CAST([Name] AS nvarchar(MAX)) AS RecursivePath
FROM [Catalog]
WHERE [ParentID] IS NULL
UNION ALL
SELECT
[Catalog].[ItemID]
,[Catalog].[Path]
,[Catalog].[Name]
,[Catalog].[ParentID]
,cte.lvl +1 AS lvl
,CAST(cte.RecursivePath + '/' + [Catalog].[Name] AS nvarchar(MAX)) AS RecursivePath
FROM CTE
INNER JOIN [Catalog]
ON [Catalog].ParentID = CTE.ItemID
)
SELECT * FROM CTE
WHERE lvl = 1
ORDER BY lvl, Path
如果您只想要文件夾:
WHERE Type = 1
如果只想數據來源:
WHERE Type = 5
Per Stefan Steiger關於PDF和Excel報告的觀點,您可以輕鬆地將URL的JavaScript部分封裝到IIF語句中,如果您使用內置的RenderFormat字段將其導出爲PDF或Excel版本,則會刪除JavaScript SSRS 2008 R2或更高版本。如果您使用的是2008年或之前版本,則可以使用布爾參數實現相同的結果。如果您對如何回覆此評論有疑問。 –