通过几天的学习,终于对打印有了初步的认识,并实现了打印功能,下面将详细介绍下如何使用DevExpress下的打印功能。
首先要实现打印功能必须添加一个引用:DevExpress.XtraPrint
实现打印需要用到的主要的类:
1. public class PrintingSystem : Component, ISupportInitialize,IPrintingSystem,IAccessible,IExporter,IPrintingSystemContext
该类负责提供生成报表的一些方法,还提供了对页面进行设置和打印报表的一些函数,这个类的属性包含了访问其他管理报表的对象,如Document类、BrickGraphics类(在报表上进行画图的类)、XtraPageSettings类(提供对打印页面进行设置的操作)
2. public class PrintableComponentLink : Link
该类的功能是对实现DevExpress.XtraPrinting.IPrintable接口的所有控件进行打印,它提供了一些基本的生成和打印报表的功能。在生成报表以后可以通过PrintingSystem将报表打印出来。
通过以上这两个类就能完全实现各种控件的打印了,只要一个控件实现了DevExpress.XtraPrinting.IPrintable这个接口就能够对该控件进行打印,如GridControl,CharControl等等,下面给出具体的实现方法:
public
class
PrintSettingController
{
PrintingSystem ps =
null
;
string
formName =
null
;
PrintableComponentLink link =
null
;
string
_PrintHeader =
null
;
/// <summary>
/// 打印时的标题
/// </summary>
public
string
PrintHeader
{
set
{
_PrintHeader = value;
}
}
string
_PrintFooter =
null
;
/// <summary>
/// 打印时页脚
/// </summary>
public
string
PrintFooter
{
set
{
_PrintFooter = value;
}
}
bool
_landScape;
/// <summary>
/// 页面横纵向
/// </summary>
public
bool