GridControl 打印

简单打印:

                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 对象(上面红色标注的地方)。使用起来比较方便.

posted @ 2012-07-18 17:49  程序员小楠  阅读(963)  评论(0编辑  收藏  举报