我正在尝试在WPF应用程序中创建报告。 我正在使用Visual Studio 2010,C#和MVVM
我研究了很多,并且只在网上找到了使用数据库处理Crystal Report的文章。在我的应用程序中,我不直接与数据库通信。我们使用网络服务。它与数据库通信并将所有数据写入xml文件。我们通过存储过程获取信息。 希望这不是问题。
无论如何,在我的一个用户控件上,我有一个数据网格,其中填充了数据库中的数据。我使用List和Observable Collection存储这些数据。因此,检索数据很容易。 但我现在想将数据导出到报告中供用户打印。
正如我所说,我已阅读过报告,他们都使用某种形式的数据集或数据表。但正如我所说,我们不直接使用数据库。
我已经下载了SAP Crystal Reports, developer version for Microsoft Visual Studio: Updates & Runtime Downloads,以确保我可以使用Crystal Reports。
我知道我必须创建一个新的用户控件或窗口视图,并通过ViewModel设置datacontext。在此表单上应该是一个将填充的报表查看器控件。但我不知道要通过什么,如果我可以做这样的事情。我可以将具有我想要保存的数据的List / ObservableCollection发送到表单,并将其绑定到报表控件吗?使用[this]作为示例2,这是我正在寻找的方向
或者是否有另一种不使用数据库创建报告的方法? 我通常只想在现有的WPF项目中创建一个报告。打开一个新窗口或用户控件,并在此处加载报表查看器,其中包含我在gridview中的数据。使用WPF和MVVM,我该如何实现这一点。
如果有人知道如何使用它,我也有组件一。该网站本身并未提供有关其报告视图主题的精彩教程。
如果我还有其他需要,请告诉我,我会在哪里编辑
答案 0 :(得分:1)
刚开始查看此内容,首先您可以根据EF上下文或Web服务添加DataSource。然后,您可以使用内置的报告工具集(它基于SQL Server报告服务(虽然您不需要它来托管它们)。)
虽然您需要使用Windows窗体主机控件:( MSDN walkthrough about hosting reports in WPF
答案 1 :(得分:0)
我认为您通过创建使用数据网格的用户控件来走上正轨。我认为您要打印某些报告的下一件事是DocumentPaginator
。使用此方法,您可以打印到.XPS文件,将用户控件权限打印到纸张,或/和使用第三方XPS到PDF转换器。
Here就是一个让你入门的例子!