诺诺,不要用 ="javascript:void(window.open(
。
首先,它破坏了 PDF 和 Excel 报告,
其次,它在 IE11 中不起作用,也可能 < 11。
经过测试,它只适用于我的 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