Skip to main content
A newer version of this page is available. .

XRControl.PrintOnPage Event

Occurs when the representation of a control is printed on the current page of the report.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v17.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

public virtual event PrintOnPageEventHandler PrintOnPage

Event Data

The PrintOnPage event's data class is PrintOnPageEventArgs. The following properties provide information specific to this event:

Property Description
Cancel Gets or sets a value indicating whether the event should be canceled. Inherited from CancelEventArgs.
PageCount Gets the number of all pages presented in the created report.
PageIndex Gets the index of the current page which the control will be printed on.
PrintAction Returns PrintToFile in all cases. Inherited from PrintEventArgs.

Remarks

Use this event to perform actions when a control is printed on a particular page in a report. The current page index and the total number of pages can be accessed via the PrintOnPageEventArgs.PageIndex and PrintOnPageEventArgs.PageCount properties, respectively.

Note

Note, however, that changing a control’s contents at this event will not change a report’s layout (locations and sizes of bricks in a final document), since the report document is already created at this time.

The PrintOnPage event is raised along with the other associated events which are listed below in the order that they are raised in:

To learn more, see Report Events.

Example

The following example demonstrates how to use the XRControl.PrintOnPage event. The event handler below checks if an xrLabel1 is being printed on the last page (in case the PrintOnPageEventArgs.PageCount property is equal to PrintOnPageEventArgs.PageIndex minus 1), and, if yes, sets its text to “The last page!”. Otherwise, it checks if a label is being printed on the odd page, and, if yes, it cancels its printing.

using DevExpress.XtraReports.UI;
// ...

private void xrLabel1_PrintOnPage(object sender, PrintOnPageEventArgs e) {
    // Check if the label is printed on the last page.
    // Note that the PageCount property value is not valid if you
    // use the CachedReportSource component to generate a report document
    if (e.PageIndex == e.PageCount-1)
        // Set its text.
        ((XRLabel)sender).Text = "The last page!";
    else
        // Check if the label is printed on the odd page.
        if (e.PageIndex % 2 == 0)
            // Cancel its printing.
            e.Cancel = true;
}
See Also