简单打印:
PageSettings set_print_page = new PageSettings();
DynamicPrintHelper ph = new DynamicPrintHelper();
if (ph.IsPrintingAvailable)
{
ph.PageSettings = set_print_page;
ph.PageSettings.Landscape = true;
ph.PageSettings.Margins = new Margins(10, 10, 20, 20);
ph.ShowPreview(this.gridControl1, true);
}
多功能打印:
如何在处理DevExpress部件的所有可打印部件如(gridControl,TreeList...)这些控件在打印时能加上标题。 查看帮助发觉需要使用DevExpress.XtraPrinting.PrintableComponentLink此对象来实现。也就是说不能使用gridControl控件的print()方法。
在DevExpress.XtraPrinting名称空间下,可以找到PageHeaderFooter这样一个类。此类当然是对页眉和页脚进行设置。我们可以通过它来设置打印时所要的标题或页相关的信息。
PrintingSystem ps = new DevExpress.XtraPrinting.PrintingSystem();
DevExpress.XtraPrinting.PrintableComponentLink link=new DevExpress.XtraPrinting.PrintableComponentLink(ps);
ps.Links.Add(link);
link.Component=urGridControl;//这里可以是可打印的部件
link.Landscape = true;
link.Margins = new Margins(10, 10, 50, 50);
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();//进行预览
//ps.PreviewFormEx.Show();//进行预览
其实对于在DEVEXPRESS中进行打印的话,最好都使用上面的方法来实现。当我们需要进行打印时,只需要设置不同的IPrintable 对象(上面红色标注的地方)。使用起来比较方便.