具有自定义 Web UI 的 SSRS

问题描述 投票:0回答:5

是否可以创建自定义 Web 前端来运行 SSRS 报告?

我们有一个现有的跨浏览器 Web 前端,用于收集报告输入(针对非 SSRS 平台),我们希望看到继续使用 SSRS。它包括已经内部开发的特定于域的 UI 控件,并且没有任何东西可以与 SSRS 相媲美。 我们不需要对类型感知控件进行动态渲染 - 尽管我认为 RDL 可以帮助我们告诉我们报表采用哪些参数(及其类型) - 但我们确实需要的不仅仅是

Report Manager

提供的内容。 本质上,我们希望自定义/替换由报表管理器生成的输入收集 UI。我们还需要一些品牌推广。完全废弃报表管理器(我的意思是外部)并通过我们自己的 ASP.NET 应用程序直接与 SSRS Web 服务交互会更容易吗?

我是报告领域的新手,我找不到这方面的任何信息。我们正在使用 SQL Server 2005 报告服务。

asp.net reporting-services reportingservices-2005
5个回答
9
投票

本质上,我们有一个与用户交互的自定义 ASP.NET 应用程序。当第一页加载时,它会显示可供该用户使用的报告列表(通过 Web 服务从 ASP.NET 应用程序到 SSRS 的通信并使用身份模拟,以便对列表进行安全修剪)。如果自定义 ASP.NET 应用程序位于与报表服务器不同的服务器上,则需要在此处使用 Kerberos。

用户选择报告后,将显示参数选择屏幕(仍在自定义 ASP.NET 应用程序中)。当他们选择参数并单击“生成报告”时,某些 JavaScript 会将每个参数的输入标记动态添加到 HTML 表单(对用户隐藏),然后向 SSRS Web 服务器执行 HTTP POST。

然后,我们使用 OOTB 报告查看器来显示报告,但它托管在框架中,以便屏幕顶部允许用户包含在自定义 Web 应用程序中。这使他们能够快速返回并更改参数。

我们采取这种方法是因为我们有一个全球性组织,但我们的应用程序是集中托管的 - 我们希望为所有用户提供尽可能好的性能。我们发现,报告查看器的性能相当不错,但 OOTB 附带的 OOTB 参数选择对于高延迟的连接来说非常糟糕 - 大量回发和传输的流量太多。

另一个技巧 - 我们将参数“隐藏”在报告中,以便参数不会显示在报告查看器中。

编辑:我们最初使用 SSRS 2005 进行此操作,最近升级到 SSRS 2008,麻烦最小。


4
投票

您可以以任何方式实现输入收集,然后只需将输入作为参数传递给报告:

//the report classes are in the namespace: Microsoft.Reporting.WebForms Collection<ReportParameter> paramList = new Collection<ReportParameter>(); string reportPath = ApplicationInfo.ScorecardReportPath; paramList.Add(new ReportParameter("UID", "5")); ReportViewer1.ProcessingMode = ProcessingMode.Remote; ReportViewer1.ServerReport.ReportServerUrl = new Uri("http://servername/ReportServer"); ReportViewer1.ServerReport.ReportPath = reportPath; ReportViewer1.ServerReport.SetParameters(paramList); ReportViewer1.ServerReport.Refresh();

ReportViewer 是一个可以拖放到页面上的控件:

<rsweb:ReportViewer id="ReportViewer1" runat="server" documentmapwidth="175px" font-names="Verdana" font-size="8pt" promptareacollapsed="true" width="100%" zoommode="Percent" zoompercent="100"/>

我使用这种方法将报表查看器嵌套在母版页中包含的页面内。它允许显示菜单/页眉/页脚。


3
投票
SSRS Web 服务

来触发报告。 它使我们能够完全按照您所说的方式在报告中使用您自己的 UI 和品牌。

您实际上将 RDL 名称和报告参数集合传递给 Web 服务,它将返回 HTML(或您指定的任何格式)。

一些问题包括当您使用 SSRS 的列排序时必须重新编写 URL,如果您想支持 PDF/Doc/XLS/ 等,则必须设置自己的 mime 类型...


2
投票

http://mybinote.blogspot.se/2012/03/branding-ssrs-and-make-it-look-like.html


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.