1

我是一家开发 Web 应用程序的公司的产品经理。该系统有一个数据仓库,用于使用 SSRS 2008-R2 创建不同的报告

该应用程序有一个门户基础结构,允许用户使用我们的“系统”项和他们自己的“报告”自定义他们的工作环境(非常类似于使用 SharePoint 和 WebPart,但目的完全不同)

我想知道是否有人有一套在实时网页上显示 RDL 报告的最佳实践,用户将能够(在某种程度上)使用不同的链接和查询字符串在报告和我们的系统之间提供一些交互的意图。

我一直在努力解决以下主题:

  • 参数栏不允许增加下拉菜单的宽度,当过滤器包含长字符串时,这会提供糟糕的用户体验。

  • 报告表格宽度不能设置为 100%,它只能指 px 宽度,这会导致黑色空白区域并且不允许良好的分辨率支持(门户看起来很难看)

  • 本机 .Net 报表查看器控件不适用于 IE 以外的浏览器

  • 下拉过滤器没有搜索\快速搜索选项。

  • 从一个页面移动到另一个页面需要查看报表查看器控件的导航栏,当同一仪表板上有多个报表时,该导航栏看起来很古怪

  • 本地化功能不佳 - 加载动画无法更改为使用本地化字符串。

有没有人尝试过这样的事情?报表查看器控件是否有其他替代方案可以提供更大的灵活性?是否有其他工具可以提供可以轻松插入现有系统的报告生成功能?

4

1 回答 1

2

物有所值。

我们已经成功地完成了这种场景。报告查看器控件在所有浏览器上都运行良好,因为它使用少量 javascript 生成纯 html。我们已经在 IE7-8、FF (2008-2009)、iPad 3.1、MacOs Safari 和 FF 上对其进行了测试,并且可以正常工作。

我们这样做的方式:

  • 创建了单独的 web aspx 项目来托管报表查看器控件 (ReportViewer)。它实际上充当 SSRS 网站的反向代理,并提供查询字符串参数翻译。

  • 主 Web 应用程序显示一个指向 ReportViewer 应用程序的 IFRAME,并提供其自己的导航和过滤控件。

  • ReportViewer 应用程序是一个简单的 aspx 页面,其中包含 Microsoft.Reporting.WebForms.ReportViewer ctlReportViewer 和一些用于从 url 到 MS ReportViewer、安全性和其他绒毛的参数转换的代码。

  • 实际报表查看器已禁用其工具栏。我相信它的工具栏=假。(您可以通过查看实际报告区域的属性来查看所有查询字符串参数)。

  • 大多数区域设置特定字符串需要在报告级别手动处理。

总体而言,它对大约 100 个客户来说工作得相当好,但除此之外,我会寻找不同的解决方案。也许是第 3 方报告控件或第 3 方仪表板控件。我们已经开始了 Silverlight 仪表板路线,但随后项目资金耗尽,我继续前进。

通过创建多个 SSRS Web 服务器并让您的 ReportViewer 应用程序选择负载最少的一个,您仍然可以为大量客户端关闭。

于 2012-11-30T10:42:30.387 回答