C#WPF应用程序中的可插入报告工具

时间:2012-07-03 15:21:06

标签: c# wpf reporting-services reporting

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

由于该应用程序将用于各种不同的企业环境,因此它们的报告工具将有不同的优势。因此,例如,1个客户可能是SSRS用户,而另一个可能认为Crystal是有史以来最好的。

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

有没有人做过类似的事情? 在一般情况下,你将如何实现这一点以及我应该注意哪些问题?

提前感谢您提供任何帮助

亚历

1 个答案:

答案 0 :(得分:1)

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

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

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