使用Devexpress組件打印时标题的处理

如何在处理DevExpress部件的所有可打印部件如(gridControl,TreeList)这些控件在打印时能加上标题。

查看帮助发觉需要使用DevExpress.XtraPrinting.PrintableComponentLink此对象来实现。也就是说不能使用gridControl控件的print()方法。

在DevExpress.XtraPrinting名称空间下,可以找到PageHeaderFooter这样一个类。此类当然是对页眉和页脚进行设置。我们可以通过它来设置打印时所要的标题或页相关的信息。

 PrintingSystem ps 
= null;
    DevExpress.XtraPrinting.PrintableComponentLink link
=null;

ps
=new DevExpress.XtraPrinting.PrintingSystem();
   link
=new DevExpress.XtraPrinting.PrintableComponentLink(ps);
   ps.Links.Add(link);
   link.Component
=urGridControl;//这里可以是可打印的部件

string  _PrintHeader="我的标题信息";

PageHeaderFooter phf 
= link.PageHeaderFooter as PageHeaderFooter;
      phf.Header.Content.Clear();
      phf.Header.Content.AddRange(
new string[] {"",_PrintHeader,""});
      phf.Header.Font
=new System.Drawing.Font("宋体",14,System.Drawing.FontStyle.Bold);
      phf.Header.LineAlignment
=BrickAlignment.Center; 

link.CreateDocument(); 
//建立文档
     ps.PreviewForm.Show();//进行预览

其实对于在DEVEXPRESS中进行打印的话,最好都使用上面的方法来实现。当我们需要进行打印时,只需要设置不同的IPrintable 对象(上面红色标注的地方)。使用起来比较方便.

posted on 2007-04-30 01:20  编程山人  阅读(500)  评论(0编辑  收藏  举报