ActiveReports 7本身没有对WPF系统提供支持,不过我们可以通过WPF提供的WindowsFromHost控件来实现这一功能,通过WindowsFromHost可以在WPF系统中使用WinForms平台的控件。所以,我们只需要将ActiveReports 7的Viewer控件通过WindowsFormHost进行宿主就可以在WPF中浏览ActiveReports 7开发出来的报表。
详细操作步骤如下:
1、在Visual Studio中创建一个WPF应用程序
2、在工程中添加一个ActiveReports 7 Section Report (code-based)类型的报表文件
3、在工程中添加一个ActiveReports 7 Page Report类型的报表文件
4、在XAML设计界面添加一个WindowsFormsHost控件
5、在XAML的后台代码中添加以下代码:
- private void btnSectionRpt_Click(object sender, RoutedEventArgs e)
- {
- Invoice rpt = new Invoice();
-
- rpt.Run();
- viewer1.Document = rpt.Document;
- windowsFormsHost2.Child = viewer1;
- }
- private void btnPageReport_Click(object sender, RoutedEventArgs e)
- {
- string file_name = GetPath("Invoice1.rdlx");
- GrapeCity.ActiveReports.PageReport pageReport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(file_name));
- GrapeCity.ActiveReports.Document.PageDocument pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);
- viewer1.LoadDocument(pageDocument);
- windowsFormsHost2.Child = viewer1;
- }
复制代码
运行截图:
源码下载:VS2010 + ActiveReports 7
|