XtraReport.StopPageBuilding() Method
Interrupts the process of document creation.
Namespace: DevExpress.XtraReports.UI
Assembly: DevExpress.XtraReports.v19.1.dll
NuGet Packages: DevExpress.Reporting.Core, DevExpress.WindowsDesktop.Core
Declaration
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.
Tip
Online Example: How to build report pages progressively to be able to access them as soon as they are created
To perform this task, follow the steps listed below:
- Run Microsoft Visual Studio 2010, 2012, 2013, 2015 or 2017.
- Start a new project (CTRL+SHIFT+N), and create a new Windows Forms Application, or open an existing one.
- Add a new blank report to it.
- Bind a report to data, so that it contains more than 1 page and its creation requires a significant amount of time.
- 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();
}
Related GitHub Examples
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.