彩票走势图

logo Devexpress WPF控件文档中心

打印自定义报表


立即下载DevExpress WPF

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

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

打印链接 描述
SimpleLink 呈现包含线性数据的数据对象。
CollectionViewLink 呈现包含分层数据的数据对象,并实现ICollectionView 接口。
PrintableControlLink DevExpress呈现控件。

创建简单链接

简单的打印链接通常用于在报表中显示非分层数据,在不需要将数据项分成组的情况下使用这种链接。

Winforms 报表预览

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

除了数据项之外,还必须指定可视化表示。要做到这一点,创建一个 ,它应该应用于每个数据项,然后将其分配给链接的SimpleLink.DetailTemplate属性。

创建集合视图链接

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

Winforms分组数据报告

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

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

创建可打印控件链接

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

Winforms网格报表预览

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

页面设置

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

您可以在报表中包含页眉和页脚,以及整个文档的页眉和页脚。要做到这一点,分别通过TemplatedLink.PageHeaderTemplate、TemplatedLink.PageFooterTemplate、TemplatedLink.ReportHeaderTemplate和TemplatedLink.ReportFooterTemplate 属性指定它们的模板。通过将适当的数据对象分别分配给TemplatedLink.PageHeaderData、TemplatedLink.PageFooterData、TemplatedLink.ReportHeaderData和TemplatedLink.ReportFooterData属性,这些模板也可以提供一些自定义数据。

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

属性 描述
LinkBase.CustomPaperSize 获取或设置自定义纸张的大小(以百分之一英寸为单位测量)。
LinkBase.DocumentName 获取或设置文档的名称。
LinkBase.Landscape 获取或设置一个值,该值指示页面方向是否为横向。
LinkBase.Margins 获取或设置报表页面的边距(以百分之一英寸为单位测量)。
LinkBase.MinMargins 指定最小打印机边距值。
LinkBase.PaperKind 获取或设置文档的纸张类型。
LinkBase.SuppressAutoRebuildOnPageSettingsChange 获取或设置一个值,该值指示是否有必要在每次更改链接的页面设置时禁止重建文档。

导出和打印报表

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

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

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

方法 描述
LinkBase.ExportToCsv 使用指定的CSV特定选项,用CSV格式将报表导出到指定的流。
LinkBase.ExportToHtml 使用指定的特定于HTML的选项,用HTML格式将报告导出到指定的流。
LinkBase.ExportToImage  
LinkBase.ExportToMht 使用指定的MHT特定选项用MHT格式将报告导出到指定流。
LinkBase.ExportToPdf 使用指定的PDF特定选项用PDF格式将报表导出到指定的流。
LinkBase.ExportToRtf 使用指定的RTF特定选项用RTF格式将报表导出到指定的流。
LinkBase.ExportToText 使用指定的特定于文本的选项用文本格式将报表导出到指定的流。
LinkBase.ExportToXls 使用指定的特定于XLS的选项用XLS格式将报告导出到指定的流。
LinkBase.ExportToXlsx 使用指定的特定于XLSX的选项,用XLSX格式将报告导出到指定的流。
LinkBase.ExportToXps 使用指定的特定于XPS的选项用XPS格式将报表导出到指定的流。
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP