DevExpress打印

DevExpress.XtraPrinting提供了DataGrid、ListView、TreeView控件打印,可以直接处理,呵呵,爽啊!
例子:
//自定义的一个过程
  private void btnPreview_Click(object sender, System.EventArgs e) {
   //设置当前光标样式
   Cursor currentCursor = Cursor.Current;
   Cursor.Current = Cursors.WaitCursor;

   //设置打印系统变量
   DevExpress.XtraPrinting.PrintingSystem ps = new DevExpress.XtraPrinting.PrintingSystem();
   //这里定义一个DataGrid控件连接,当然,你可以定义ListView、TreeView控件连接
   DevExpress.XtraPrintingLinks.DataGridLink printLink = new DevExpress.XtraPrintingLinks.DataGridLink();

   //将打印连接指向需要打印的dataGrid1
   printLink.DataGrid = dataGrid1;
   printLink.CreateDocument(ps);
   //给显示窗口一个标题吧
   ps.PreviewForm.Text = “打印DataGrid控件内容“;
   ps.PreviewForm.Owner = this;
   //ok,开始打印啦
   ps.PreviewForm.Show();
   
   //恢复以前的光标样式
   Cursor.Current = currentCursor;
  }

感觉如何?是不是很爽?要是能够给打印的文档加一个标题是不是更爽?嘿嘿,这可费了俺好大功夫,最终发现可以这么来,......,算啦,给出一个完整的函数吧:

private void printDataGrid(DataGrid dataGrid,string printTitle)
  {
   //设置当前光标样式
   Cursor currentCursor = Cursor.Current;
   Cursor.Current = Cursors.WaitCursor;

   DevExpress.XtraPrinting.PrintingSystem ps;
   DevExpress.XtraPrintingLinks.DataGridLink dgdLink;

   ps = new DevExpress.XtraPrinting.PrintingSystem();
   dgdLink = new DevExpress.XtraPrintingLinks.DataGridLink();
   
   dgdLink.DataGrid = dataGrid;
   dgdLink.PageHeaderFooter =
    new DevExpress.XtraPrinting.PageHeaderFooter
    (new DevExpress.XtraPrinting.PageHeaderArea(new string[] {
                    "",
                    printTitle,
                    ""},
    new System.Drawing.Font("楷体_GB2312", 24F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))), DevExpress.XtraPrinting.BrickAlignment.Far),
    new DevExpress.XtraPrinting.PageFooterArea(new string[] {
                   "打印日期 [Date Printed] [Time Printed]",
                   "",
                   "[Page # of Pages #]"},
    new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(134))), DevExpress.XtraPrinting.BrickAlignment.Near));

   dgdLink.CreateDocument(ps);
   //给显示窗口一个标题吧
   ps.PreviewForm.Text = "打印DataGrid控件内容";
   
   //ok,开始打印啦
   ps.PreviewForm.Show();

   //恢复以前的光标样式
   Cursor.Current = currentCursor;
  }



Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=225253

 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值