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

XtraReport.StopPageBuilding() Method

Interrupts the process of document creation.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v20.2.dll

NuGet Packages: DevExpress.Reporting.Core, DevExpress.WindowsDesktop.Reporting.Core

Declaration

public void StopPageBuilding()

Remarks

When a document is being created in the background (by calling the XtraReport.CreateDocument method with the buildForInstantPreview parameter set to true), you can interrupt the document creation at any moment by calling the StopPageBuilding method. All pages that have already been created prior to calling this method will be available in the XtraReport.Pages collection and can be displayed in the Print Preview, printed or exported.

Example

This example demonstrates how to generate report pages in background, so that pages that are ready are displayed in the PrintControl, and the progress bar shows the current state of report building. To do this, it is necessary to call the XtraReport.CreateDocument method, and pass true for its buildForInstantPreview parameter.

Regardless of the buildForInstantPreview parameter setting, a document will not be produced in a background thread. Document creation is not asynchronous, as parts of a document are rendered each time the Idle event is raised (in the WPF environment, a document is created using ticks from the DispatcherTimer class).

When this option is enabled, document creation can be interrupted by calling the XtraReport.StopPageBuilding method.

To perform this task, follow the steps listed below:

  1. Run Visual Studio 2010, 2012, 2013, 2015, 2017, or 2019.
  2. Start a new project (CTRL+SHIFT+N), and create a new Windows Forms Application, or open an existing one.
  3. Add a new blank report to it.
  4. Bind a report to data, so that it contains more than 1 page and its creation requires a significant amount of time.
  5. Drop a PrintControl onto a form, add two Button controls and handle a form’s Load event and buttons’ Click event as follows:
using System;
using System.Windows.Forms;
using System.Drawing.Printing;
// ...

XtraReport1 report;

private void Form1_Load(object sender, EventArgs e) {
    report = new XtraReport1();

    this.printControl1.PrintingSystem = report.PrintingSystem;
}

private void btnStart_Click(object sender, EventArgs e) {
    report.CreateDocument(true);
}

private void btnStop_Click(object sender, EventArgs e) {
    report.StopPageBuilding();
}

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the StopPageBuilding() method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

Implements

See Also