Back to Devexpress

Print a Specified Range of Report Pages

xtrareports-7064-desktop-reporting-common-features-printing-winforms-reporting-print-api-print-a-specified-range-of-report-pages.md

latest1.6 KB
Original Source

Print a Specified Range of Report Pages

  • Aug 18, 2023

This example demonstrates how to specify the page range of a document being printed.

To do this, assign a report instance to a ReportPrintTool, and handle the PrintingSystemBase.StartPrint event of the Print Tool’s PrintToolBase.PrintingSystem.

csharp
using DevExpress.XtraPrinting;
using DevExpress.XtraReports.UI;
// ...

private void button1_Click(object sender, System.EventArgs e) {
    ReportPrintTool printTool = new ReportPrintTool(new XtraReport1());
    printTool.PrintingSystem.StartPrint += PrintingSystem_StartPrint;
}

void PrintingSystem_StartPrint(object sender, PrintDocumentEventArgs e) {
    // Set the page range.
    e.PrintDocument.PrinterSettings.FromPage = 1;
    e.PrintDocument.PrinterSettings.ToPage = 3;
}
vb
Imports DevExpress.XtraPrinting
Imports DevExpress.XtraReports.UI
' ...

Private Sub button1_Click(sender As Object, e As System.EventArgs)
    Dim printTool As New ReportPrintTool(New XtraReport1())
    AddHandler printTool.PrintingSystem.StartPrint, AddressOf PrintingSystem_StartPrint
End Sub

Private Sub PrintingSystem_StartPrint(sender As Object, e As PrintDocumentEventArgs)
    ' Set the page range.
    e.PrintDocument.PrinterSettings.FromPage = 1
    e.PrintDocument.PrinterSettings.ToPage = 3
End Sub