关于DEVExpress的使用心得,有关打印操作!

在用这个第三方插件做报表时,总结了几个问题!

在做类似表格的报表时,先用了PrintControl控件,因为有几级标题,用PageHeaderFooter类进行表头声明可以解决,换行也可以用字符串中加“\r\n来解决”

科室要解决几级标题的不同字体,就不好搞了!

因此我换了,LayoutControl控件蛮好,尽管报表是又标题有Grid,无所谓,我都拖到页面上,然后布局,把要打印的东西都拖进此控件,打印时,只需调用this.layoutControl1.Print();即可,不过我也发现一个问题,连续调用,会发现第二次的打印效果大 了!

 

因此我又换了方法,还是控件都在LayoutControl里面,然后声明PrintingSystem,在里面设置,代码如下:

 PrintingSystem ps = new DevExpress.XtraPrinting.PrintingSystem();
            DevExpress.XtraPrinting.PrintableComponentLink link = null;
            link = new DevExpress.XtraPrinting.PrintableComponentLink(ps);
            ps.Links.Add(link);
            link.Component = layoutControl1;//将layoutcontrol控件和打印组件连接
            link.CreateDocument(); //建立文档
            //ps.PreviewFormEx.Text = "打印评分表";
            //ps.PreviewFormEx.Owner = this;
            ps.PageSettings.PaperKind = PaperKind.A4;
            ps.PrintDlg();//调打印设置窗体
            //ps.PreviewFormEx.Show();//预览
            ps.Print();

这样的话可以很好控制打印了!!!

 

设置打印的内容边距如下

 ps.PageSettings.TopMargin = 2;
            ps.PageSettings.BottomMargin = 2;
            ps.PageSettings.LeftMargin = 2;
            ps.PageSettings.RightMargin = 2;

你可能感兴趣的:(关于DEVExpress的使用心得,有关打印操作!)