繁体   English   中英

如何在不参考数据库的情况下在WPF MVVM应用程序中创建报表

[英]How do I create a report in a WPF MVVM application without refering to a database

我正在尝试在我的WPF应用程序中创建一个报告。 我正在使用Visual Studio 2010,C#和MVVM

我已经研究了很多,并且只在网上找到了使用数据库处理Crystal Report的文章。 在我的应用程序中,我不直接与数据库通信。 我们使用网络服务。 它与数据库通信并将所有数据写入xml文件。 我们通过存储过程获取信息。 希望这不是问题。

无论如何,在我的一个用户控件上,我有一个数据网格,其中填充了数据库中的数据。 我使用List和Observable Collection存储这些数据。 因此,检索数据很容易。 但我现在想将数据导出到报告中供用户打印。

正如我所说,我已阅读报告,他们都使用某种形式的数据集或数据表。 但正如我所说,我们不直接使用数据库。

我已经下载了SAP Crystal Studio,Microsoft Visual Studio的开发人员版本:更新和运行时下载 ,以确保我可以使用Crystal Reports。

我有一个想法,我必须创建一个新的用户控件或窗口视图,并通过ViewModel设置datacontext。 在此表单上应该是一个将填充的报表查看器控件。 但我不知道要通过什么,如果我可以做这样的事情。 我可以将具有我想要保存的数据的List / ObservableCollection发送到表单,并将其绑定到报表控件吗? 使用[this]作为示例2 ,这是我正在寻找的方向

或者是否有另一种不使用数据库创建报告的方法? 我通常只想在现有的WPF项目中创建一个报告。 打开一个新窗口或用户控件,并在此处加载报表查看器,其中包含我在gridview中的数据。 使用WPF和MVVM,我该如何实现。

如果有人知道如何使用它,我也有组件一。 该网站本身并未提供有关其报告视图主题的精彩教程。

如果您还需要我的其他信息,请告诉我,我会尽我所能进行编辑

刚开始看这个,首先你可以根据你的EF上下文或你的web服务添加一个DataSource。 然后,您可以使用内置报告工具集(基于SQL Server报告服务(尽管您不需要它来托管它们))。

虽然您需要使用Windows窗体主机控件:( 关于在WPF中托管报告的MSDN演练

通过创建使用数据网格的用户控件,我认为您处于正确的轨道上。 我认为接下来要打印某种报告的是DocumentPaginator 使用此方法,您可以打印到.XPS文件,将用户控件权限打印到纸张,或/和使用第三方XPS到PDF转换器。

是一个让你入门的例子!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM