07
2012
04

C# 水晶报表打印功能

通过本周的工作学习,找到水晶报表可以有两种方法来进行打印:第一种是利用已经做好的水晶报表,对它进行打印,这种方法的缺点就是不能在项目中修改后直接就保存打印,优点加载速度快,而是要报建好的水晶报表放到你所建立的水晶报表路径;第二种是直接利用项目中建好的水晶报表,实例化以后把水晶报表中需要的数据加入到水晶报表中,这样加载速度就会变慢,然后可以打印输出。

第一种,使用水晶报表在项目中的路径:
        privateReportDocumentcustomerReport1;
        private void rep_list4()
        {
            try
            {
                customerReport1 = new ReportDocument();      //次卡结算
                string reportPath = Application.StartupPath + "\\rpt\\" + "CrystalReport1.rpt";   //指定水晶报表路径
                customerReport1.Load(reportPath);   //加载指定路径的报表
                DataTable db = new DataTable();
                db.Columns.Add("Number", System.Type.GetType("System.String"));
//添加报表数据列名
                DataRow newdr = db.NewRow();
                newdr[0] = Txt9.Text;//为报表的列赋值
 
                report.SetDataSource(db); //把数据DataTable数据赋给报表
                //string printerName = "////打印机地址或IP//打印机名称"; //本地打印机直接指定名称
                //string printerName = "打印机名称"; //本地打印机直接指定名称
                //report.PrintOptions.PrinterName = printerName;          //指定打印机名称
                report.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperDsheet;   //指定纸张尺寸
                report.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait; //指定纸张输出方向
                report.PrintToPrinter(1, false, 1, 1); //输出打印
                crystalReportViewer4.ReportSource = report; //在winform中创建的报表显示出来
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
 
第一种,使用winform中创建的水晶报表,直接实例化出来再使用:
        private void rep_list()
        {
            try
            {
                CrystalReport4 report = new CrystalReport4(); //Report为你自己的报表名,已经建好的报表
                DataTable db = new DataTable();
                db.Columns.Add("Number", System.Type.GetType("System.String"));
//添加报表数据列名
                DataRow newdr = db.NewRow();
                newdr[0] = Txt9.Text;//为报表的列赋值
                report.SetDataSource(db); //把数据DataTable数据赋给报表
                //string printerName = "////打印机地址或IP//打印机名称"; //本地打印机直接指定名称
                //string printerName = "打印机名称"; //本地打印机直接指定名称
                //report.PrintOptions.PrinterName = printerName;          //指定打印机名称
                report.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperDsheet;   //指定纸张尺寸
                report.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait; //指定纸张输出方向
                report.PrintToPrinter(1, false, 1, 1); //输出打印
                crystalReportViewer4.ReportSource = report; //在winform中创建的报表显示出来
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
« 上一篇下一篇 »

相关文章:

JS 实现简单打印功能  (2012-4-17 7:47:4)

评论列表:

1.姜海洋  2012/4/10 12:17:52 回复该留言
全是代码,看不懂,哈!
.郑德才博客  2012/4/10 21:33:20 回复该留言
还是有注释的

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。