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年或之前版本,则可以使用布尔参数实现相同的结果。如果您对如何回复此评论有疑问。 –