Printing a Report Without the Viewer Control

You can bypass the viewer control and print a report directly from a menu item or the click event of a button. Using the PrintToPrinter method of the ReportDocument class, you can print a loaded report directly to a printer. Listing 18.2 demonstrates how you could accomplish this in the click event of a button. Notice the code comments for the parameters for the PrintToPrinter method that sets the properties on the printed document.

Listing 18.2. Printing a Report with the PrintToPrinter Method
Private Sub button1_Click(sender As Object, e As System.EventArgs)
   oRpt = New ReportDocument()
   oRpt.Load("C:Report1.rpt")
   Try
      oRpt.PrintOptions.PrinterName = "jbnethp-color"

      ' The PrintToPrinter method parameters are:
      ' # of copies
      ' Collated
      ' Start Page
      ' End Page
      oRpt.PrintToPrinter(1, True, 1, 1)

   Catch err As Exception
      MessageBox.Show(err.ToString())
   End Try
End Sub


private void button1_Click(object sender, System.EventArgs e)
{
oRpt = new ReportDocument();

   oRpt = new ReportDocument();
   oRpt.Load(@"C:Report1.rpt");

   try
   {
      oRpt.PrintOptions.PrinterName =
          "@\jbnet\hp-color";

      // The PrintToPrinter method parameters are:
      // # of copies
      // Collated
      // Start Page
      // End Page
      oRpt.PrintToPrinter(1, true, 1, 1);

   }
   catch(Exception err)
   {
      MessageBox.Show(err.ToString());
   }
}

After you add this code to the click event of a button and modify the location of the printer and the report name, the file prints directly without a viewer control.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.218.224.226