0

我的应用程序需要创建和生成报告的能力,似乎 2 个主要选项是 SSRS 或 Crystal Reports,还有许多其他选项,如 Infragistics、Active Reports 等。

由于该应用程序将在各种不同的公司环境中使用,因此他们的报告工具将有不同的偏好。因此,例如,一位客户可能是 SSRS 用户,而另一位客户可能认为 Crystal 是有史以来最好的东西。

这意味着重要的是不要将我的应用程序绑定到一个特定的报告工具,而是能够从许多列表中插入相关的一个。

有没有人做过类似的事情?在一般层面上,您将如何实施这一点以及我应该注意哪些问题?

提前感谢您的帮助

亚历克斯

4

1 回答 1

1

您可能遇到的问题是所有这些系统都使用自己的数据源对象和渲染引擎,您需要使用自己专有的查看器控件分别实现每个系统。您可能会将所有查看器的样式设置为看起来相同,但他们会喜欢并非所有查看器都具有相同的功能。

如果您使用业务对象作为数据源,我强烈建议您先将数据发送到数据库,因为如果您直接从数据库中提取数据,您会发现每个报告解决方案的开销要少得多。

每个报表查看器(来自每个不同报表解决方案的查看器)都允许您从查看器中剥离除主报表视图窗格之外的所有内容。然后,您可以实现自己的按钮,例如“打印、导出为 PDF、XLS、缩放、翻页、向前翻页。还有更多。然后您可以将按钮连接到报表查看器控件上的功能,即 Viewer.Zoom(100) . 您可能会在此浪费大量时间,因为重新编码已经存在且功能正常的按钮需要付出很多努力,以使它们看起来相同。

于 2012-07-03T15:30:59.820 回答