Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to directly print a Report without going through Crystal Reports Viewer

I wrote this code to print a Crystal report.. but I got error

'missing parameters'...

ReportDocument rdoc = new ReportDocument();
rdoc .Load (Application.StartupPath +"\\"+@"REPORTS\SalaryReport.rpt");

rdoc.SetDataSource(ds.Tables[0]);

ParameterFields pfs = new ParameterFields();

ParameterField pfv = new ParameterField();
ParameterDiscreteValue pdv1 = new ParameterDiscreteValue();
pfv.Name = "fd";
pdv1.Value = fd;
pfv.CurrentValues.Add(pdv1);
pfs.Add(pfv);

ParameterField pfv1 = new ParameterField();
ParameterDiscreteValue pdv11 = new ParameterDiscreteValue();
pfv1.Name = "td";
pdv11.Value = td;
pfv1.CurrentValues.Add(pdv11);
pfs.Add(pfv1);

ParameterField pfv2 = new ParameterField();
ParameterDiscreteValue pdv12 = new ParameterDiscreteValue();
pfv2.Name = "department";
pdv12.Value = Dept;
pfv2.CurrentValues.Add(pdv12);
pfs.Add(pfv2);
crystalReportViewer1.ParameterFieldInfo = pfs;
crystalReportViewer1.ReportSource = rdoc;

PrinterSettings getprinterName = new PrinterSettings();
rdoc.PrintOptions.PrinterName = getprinterName.PrinterName;
rdoc.PrintToPrinter(1, true, 1, 1);

So help to solve this issue....how to print directly without going through Crystal Reports Viewer?

like image 685
Murali Bala Avatar asked Oct 04 '22 16:10

Murali Bala


2 Answers

So Simple

  1. Remove thes lines:

    crystalReportViewer1.ReportSource = objRpt;
    crystalReportViewer1.Refresh();
    
  2. Add this line:

    objRpt.PrintToPrinter(1, false, 0, 0);
    
like image 134
Sagar Jadhav Avatar answered Oct 12 '22 11:10

Sagar Jadhav


Please use PrintToPrinter method to directly print crystal report.

http://msdn.microsoft.com/en-us/library/aa691452%28VS.71%29.aspx

http://www.nullskull.com/q/10110521/print-crystal-report-without-viewing.aspx

like image 30
Jayesh Goyani Avatar answered Oct 12 '22 11:10

Jayesh Goyani