ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

DevExpress WPF应用界面开发入门教程 - 打印自定义报表

2021-09-24 09:36:01  阅读:165  来源: 互联网

标签:数据项 控件 入门教程 报表 自定义 DevExpress 打印 创建 链接


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.ReportHeaderTemplate 和TemplatedLink.ReportFooterTemplate属性指定其模板。 通过将适当的数据对象分别分配给TemplatedLink.PageHeaderDataTemplatedLink.PageFooterDataTemplatedLink.ReportHeaderData 和TemplatedLink.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,打印,创建,链接
来源: https://www.cnblogs.com/AABBbaby/p/15328750.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有