Devexpress(开发快车)打印问题总结

感觉用开发快车做出来的界面真不错,打印方面也很方便,微软的水晶报表发布后安装维护都挺麻烦的。

这几天闲来无事,看了下开发快车的一些打印方式,总结出如下几种方式。其实官方帮助很详细,此文

仅做为学习笔记。

1 XtraLayout 输出(最简单的方式)。可以将需要打印的控件等添加到layerout里面,

  不过这些界面不太好弄,打印出来界面也不是太理想

layoutControl1.ShowPrintPreview();

layoutControl1.Print()

2 其他实现了IPrintable接口的控件也可以直接打印。

  比如XtraGridControl, 直接调用 print()就可以了。

当想添加标题等额外功能时,需要使用DevExpress.XtraPrinting.PrintableComponentLink此对象来实现。也就是说不能使用gridControl控件的print()方法(此处网上多个地方有说明)

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
1 PrintingSystem ps = new DevExpress.XtraPrinting.PrintingSystem();
2
3 DevExpress.XtraPrinting.PrintableComponentLink link = null ;
4
5 link = new DevExpress.XtraPrinting.PrintableComponentLink(ps);
6
7 ps.Links.Add(link);
8
9 link.Component = urGridControl; // 实现IPrintable接口的控件都可以赋值
10  
11   string strPrintHeader = " HeardInfo " ;
12
13 PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter;
14
15 phf.Header.Content.Clear();
16
17 phf.Header.Content.AddRange( new string [] { "" ,_PrintHeader, "" });
18
19 phf.Header.Font = new System.Drawing.Font( " 宋体 " , 14 ,System.Drawing.FontStyle.Bold);
20
21 phf.Header.LineAlignment = BrickAlignment.Center;
22
23 link.CreateDocument(); // 建立文档
24  
25 ps.PreviewForm.Show(); // 预览
26  

 

 

 

3 想让打印效果更好的时候就需要我们设计报表了。

  类似微软的水晶报表

  ASP.NMT页面与水晶报表方式基本一致

  新建报表类,在页面中添加reportview控件

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
1 XtraReprt port = new XtraReprt();
2
3 Reportview1.report = port;
4
5 Reportview.print ();
6
7 // 但是在winform中却用PrintControl来代替ReportView,此处觉得有点
8 // 奇怪。 代码也有稍微变化。
9  
10 XtraReport1 report = new XtraReport1();
11
12 // Bind the report's printing system to the print control.
13
14 printControl1.PrintingSystem = report.PrintingSystem;
15
16 // Generate the report's print document.
17
18 report.CreateDocument();
19

 

转载于:https://www.cnblogs.com/lhjhl/archive/2010/09/13/1824859.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值