直接打印水晶报表Crystal Report到打印机 - Web模式

Sometimes a little tip could save you much time when browsing website:

//dataset create
DataSet thisDataSet = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(thisDataSet, "Main");

ReportDocument rptSales = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

rptSales.FileName = Server.MapPath("CrystalReport.rpt");
rptSales.SetDatabaseLogon("user", "password");
rptSales.SetDataSource(thisDataSet.Tables["Main"]);

//default printer name
PrintDocument prtdoc = new PrintDocument();
string strDefaultPrinter = prtdoc.PrinterSettings.PrinterName;

// then print, this is the important thing here
rptSales.PrintOptions.PrinterName = strDefaultPrinter;
rptSales.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.DefaultPaperSize;
rptSales.PrintOptions.PaperSource = CrystalDecisions.Shared.PaperSource.Auto;

//parameters here depending on your situation.
rptSales.PrintToPrinter(1, true, 1, 9999);
thisConnection.Close();
posted on 2009-01-03 09:41  Simon Han  阅读(4046)  评论(1编辑  收藏  举报