C#打印DataGrid中的数据[转贴]

来源:互联网 发布:360软件管家贴吧 编辑:程序博客网 时间:2024/06/07 14:12

对于信息系统,打印功能是必须的。而打印,是一件相当麻烦的事情。打印DataGrid中的数据,尤其如此。要想到的很多,包括页眉、页脚设置,打印字体,分页,标题,预览等等一系列问题。如果从头写,工作量实在太大。网络上有很多C#写的打印DataGrid类代码,我几乎挨个尝试了个遍,要么就是不能正常使用,要么就是丢失数据,最后在打算自己写一个简单的时候,突然想起了机器上安装的Developer.Express.NET.Windows.Forms.Components.Suite控件。到工具栏里一看,果然有几个打印控件。再找些该控件的相关资料,很容易就搞定了打印DataGrid的功能。下面是两个函数,一个是直接打印,一个是打印预览。实现的效果非常的好。

public void Print(DataGrid dataGrid1)

{

     DevExpress.XtraPrinting.PrintingSystem ps=new DevExpress.XtraPrinting.PrintingSystem();

     DevExpress.XtraPrintingLinks.DataGridLink printlink=new DevExpress.XtraPrintingLinks.DataGridLink();

     System.Windows.Forms.Cursor currentCursor=Cursor.Current;

     Cursor.Current=System.Windows.Forms.Cursors.WaitCursor;

     printlink.DataGrid=dataGrid1;

     printlink.CreateDocument(ps);

     ps.PrintDlg();

}

 

 

public void PrintReview(DataGrid dataGrid1)

{

     DevExpress.XtraPrinting.PrintingSystem ps=new DevExpress.XtraPrinting.PrintingSystem();

     DevExpress.XtraPrintingLinks.DataGridLink printlink=new DevExpress.XtraPrintingLinks.DataGridLink();

     System.Windows.Forms.Cursor currentCursor=Cursor.Current;

     Cursor.Current=System.Windows.Forms.Cursors.WaitCursor;

     printlink.DataGrid=dataGrid1;

     printlink.CreateDocument(ps);

     ps.PreviewForm.Show();

     Cursor.Current=currentCursor;

}


原文出自:http://blog.csdn.net/arui319/archive/2005/08/12/452155.aspx
原创粉丝点击