首页 文章

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

提问于
浏览
4

我正在尝试在我的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,我该如何实现 .

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

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

2 回答

  • 0

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

    Here是一个让你入门的例子!

  • 1

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

    虽然您需要使用Windows窗体主机控件:( MSDN walkthrough about hosting reports in WPF

相关问题