如何在处理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-03-24 11:26  fosoyo  阅读(1803)  评论(2编辑  收藏  举报