s-s-rS 2008-R2 使用 RDL 作为 portlet\widget 生成器

Posted

技术标签:

【中文标题】s-s-rS 2008-R2 使用 RDL 作为 portlet\\widget 生成器【英文标题】:s-s-rS 2008-R2 using RDL as a portlet\widget generators-s-rS 2008-R2 使用 RDL 作为 portlet\widget 生成器 【发布时间】:2012-11-27 05:27:07 【问题描述】:

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

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

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

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

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

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

原生 .Net 报表查看器控件不适用于 IE 以外的浏览器

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

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

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

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

【问题讨论】:

【参考方案1】:

为了它的价值。

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

我们的做法:

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

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

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

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

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

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

您仍然可以通过创建多个 s-s-rS Web 服务器并让您的 ReportViewer 应用程序选择负载最少的一个来处理大量客户端。

【讨论】:

谢谢,您是否克服了报告中表格和图表 100% 宽度的问题? 抱歉回复晚了。我们使用以像素为单位的固定宽度容器,所有图形都经过手动调整以适应容器。

以上是关于s-s-rS 2008-R2 使用 RDL 作为 portlet\widget 生成器的主要内容,如果未能解决你的问题,请参考以下文章

是否可以在 Visual Studio 2010 中调用 s-s-rS 2008 R2 报告?

从以前的 s-s-rS 实例中恢复旧的 RDL 文件

s-s-rS 2008 R2 使用两个 iif 语句

s-s-rS 2008 R2 订阅

SQL Server 2008 R2 / s-s-rS 2008:服务水平报告创建

s-s-rS 2008 R2 + 授予用户的权限不足以执行此操作。(rsAccess Denied)