DevExpress WPF入门级教程 - 打印自定义报表

翻译|使用教程|编辑:龚雪|2021-09-23 09:53:11.523|阅读 21 次

概述:本文主要介绍DevExpress WPF控件的打印自定义报表功能,欢迎下载最新版工具体验~

# 31款JAVA开发必备控件和工具 # 开发软/控件产品年终优惠

相关链接:

DXPrinting Library 提供了一种创建自定义打印报表的简单方法,这种方法基于称为打印链接的特殊打印程序。 DXPrinting Library 引入了几种类型的打印链接,每一种都设计用于呈现特定数据对象、创建报表以及导出和打印报表,您可以通过从LinkBase抽象类继承您的类来创建自定义打印链接。

DevExpress WPF v21.1高速下载

下表列出了内置的打印链接类型。

DevExpress WPF - 打印自定义报表图1
创建简单链接

简单的打印链接通常用于在报表中呈现非分层数据,在不需要将数据项分组的时候使用这些类型的链接。

DevExpress WPF - 打印自定义报表图2

创建后,必须为简单链接提供数据。 为此请通过SimpleLink.DetailCount属性指定数据项的数量并处理SimpleLink.CreateDetail事件。 每次需要新数据项时都会引发该事件,次数与SimpleLink.DetailCount 属性指定的次数相同。 在处理程序中,将新数据项分配给CreateAreaEventArgs.Data事件参数的属性,可以使用CreateAreaEventArgs.DetailIndex属性获取所需数据项的索引。

与数据项一起,必须指定可视化呈现。为此请创建一个DataTemplate,它应该应用于每个数据项,然后将其分配给链接的 SimpleLink.DetailTemplate属性。

创建集合视图链接

当您需要在报表中显示来自分层数据源的数据或应将数据项显示为分成几组时,集合视图打印链接非常有用。

DevExpress WPF - 打印自定义报表图3

要将数据分配给集合视图链接,请创建一个实现ICollectionView 接口的对象,这可以是 System.Windows.Data.CollectionViewSource 对象。 为该对象提供数据后,将其分配给链接的CollectionViewLink.CollectionView 属性。

指定数据后,您应该定义其可视化呈现。为此请创建一个应应用于每个数据项的DataTemplate,并将其分配给链接的 CollectionViewLink.DetailTemplate属性。要提供有关项目分组信息的链接,请为每个分组级别创建一个GroupInfo对象,并通过 GroupInfo.HeaderTemplate 属性指定应应用于当前分组级别中的每个组标题的模板。 然后,将GroupInfo 对象添加到链接的 CollectionViewLink.GroupInfos 集合中。

创建可打印的控制链接

可打印控件链接用于呈现实现 IPrintableControl 或 IRootDataNode 接口的控件和数据对象,例如,TableView 对象可以由可打印的控制链接呈现。

DevExpress WPF - 打印自定义报表图4

要创建可打印的控件链接,请将适当的控件或数据对象传递给PrintableControlLink构造函数。

页面设置

DXPrinting Library 提供了许多设置,允许您自定义报表的页面选项。

您可以在报表中包含页眉和页脚,以及整个文档的页眉和页脚。 为此,请分别通过TemplatedLink.PageHeaderTemplateTemplatedLink.PageFooterTemplateTemplatedLink.ReportHeaderTemplateTemplatedLink.ReportFooterTemplate属性指定其模板。 通过将适当的数据对象分别分配给TemplatedLink.PageHeaderDataTemplatedLink.PageFooterDataTemplatedLink.ReportHeaderDataTemplatedLink.ReportFooterData 属性,还可以为这些模板提供一些自定义数据。

下表列出了用于指定报表页面设置的其他属性。

DevExpress WPF - 打印自定义报表图5
导出和打印报表

创建链接对象并为其提供数据后,您可以通过调用LinkBase.CreateDocument 方法从链接创建文档。 现在报表已生成,您可以打印和导出它,以及在DocumentPreview 控件中显示它。 为此,需要以当前链接作为初始化参数创建一个新的LinkPreviewModel实例,并将其分配给DocumentPreview.Model 属性。

使用LinkBase.ShowPrintPreview方法打开报表预览窗口,要打开模式预览窗口,请使用LinkBase.ShowPrintPreviewDialog方法。 可以通过LinkBase.Print方法调用打印对话框,要在不打开任何对话框的情况下打印报表,请使用LinkBase.PrintDirect方法。

下表列出了用于将报表导出为不同格式的方法。

DevExpress WPF - 打印自定义报表图6

DevExpress WPF | 下载试用

DevExpress WPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件的衍伸产品,还是以数据为中心的商业智能产品,都能通过DevExpress WPF控件来实现。


DevExpress技术交流群4:715863792      欢迎一起进群讨论

更多DevExpress线上公开课、中文教程资讯请上中文网获取

DevExpress 增值服务火热销售中

标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至hey@evget.com

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
DevExpress Universal Subscription

行业领先的界面控件开发包,帮助企业构建卓越应用!

DevExpress DXperience Subscription

高性价比的企业级.NET用户界面套包,助力企业创建卓越应用!

DevExpress WPF Subscription

高效MVVM开发模式,WPF界面解决方案首选工具,帮助企业实现酷炫动效界面。

title
在线咨询
联系我们
TOP
在线客服系统
live chat