基于 WPF 平台的 ActiveReports Viewer控件

发布时间:2013/04/20 00:04 发布者:jian

返回博客中心

ActiveReports 报表控件致力于为组织和个人提供最出色的报表解决方案,多年来ActiveReports已经提供了 Windows Forms、Web、Silverlight和Flash平台的报表查看器控件,伴随着ActiveReports 7 SP1 的发布,我们又为 WPF 应用程序提供了专业的报表查看器控件。

在ActiveReports 7 SP1 之前的应用程序中,或许您也就在 WPF 平台使用ActiveReports产品,在之前的版本中我们是通过 WPF 平台提供的 WindowsFormsHost 控件来查看ActiveReports报表。

如果您是在WPF平台中使用ActiveReports 6的产品,您可以通过以下代码来查看报表:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
var viewer1 = new DataDynamics.ActiveReports.Viewer.Viewer();
var rpt = new  WPFreport ();
rpt.Run();
viewer1.Document = _rpt.Document;
windowsFormsHost1.Child = viewer1;
}

如果您是在WPF平台中使用ActiveReports 7 SP1 之前的产品,您可以通过以下代码来查看报表:

查看页面报表:

private void Window_Loaded(object sender, RoutedEventArgs e)
{
  var fileName = @"C:\Invoice1.rdlx";
  var viewer1 = new GrapeCity.ActiveReports.Viewer.Win.Viewer();
  var pageReport = new GrapeCity.ActiveReports.PageReport(new FileInfo(file_name));
  var pageDocument = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);
  viewer1.LoadDocument(pageDocument);
  windowsFormsHost1.Child = viewer1;
}

查看区域报表:

private void Window_Loaded(object sender, RoutedEventArgs e)  
{
  var viewer1 = new GrapeCity.ActiveReports.Viewer.Win.Viewer();
  var rpt = new  WPFreport ();
  rpt.Run();
  viewer1.Document = _rpt.Document;
  windowsFormsHost1.Child = viewer1;
}

ActiveReports 7 SP1中我们提供了WPF平台的专业报表查看器控件WPFViewer,以上代码依然可以使用,不过我们推荐您升级以上代码,将WindowsFormsHost控件替换为ActiveReports官方提供的WPFViewer控件,升级步骤如下:

ActiveReports 6用户升级步骤:

首先,将您的ActiveReports 6报表通过ActiveReports 7中提供的报表转换工具,升级到ActiveReports 7版本,报表升级完成之后的操作步骤,请参照ActiveReports 7升级到ActiveReports 7 SP1的操作步骤。

ActiveReports 7用户升级步骤:

1、打开您的 WPF 项目,并打开包含WindowsFormsHost控件 XAML页面。

2、删除XAML页面中的WindowsFormsHost控件。

3、从工具箱中将ActiveReports 7提供的Viewer控件拖放到XAML页面中。

4、删除之前用户加载区域报表和页面报表的后台代码。

5、将以下代码添加到XAML页面的后台代码中,用于加载ActiveReports报表

加载页面报表代码:

private void Window_Loaded(object sender, RoutedEventArgs e)  
{
  viewer1.LoadDocument(@"C:\Invoice1.rdlx ");  
}

加载区域报表代码:

private void Window_Loaded(object sender, RoutedEventArgs e)  
{
  viewer1.LoadDocument(new  WPFreport());  
}

通过以上操作,我们就可以很方便的在 WPF 平台中来查看 ActiveReports 报表。


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网