来源:http://www.wangchao.net.cn/bbsdetail_241682.html
如何在处理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 对象(上面红色标注的地方)。使用起来比较方便.