xtrareports-devexpress-dot-xtrareports-dot-ui-dot-xtrareport-41ec5514.md
Interrupts the process of document creation.
Namespace : DevExpress.XtraReports.UI
Assembly : DevExpress.XtraReports.v25.2.dll
NuGet Package : DevExpress.Reporting.Core
public void StopPageBuilding()
Public Sub StopPageBuilding
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.
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:
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();
}
Imports System
Imports System.Windows.Forms
Imports System.Drawing.Printing
' ...
Private report As XtraReport1
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) _
Handles MyBase.Load
report = New XtraReport1()
printControl1.PrintingSystem = report.PrintingSystem
End Sub
Private Sub btnStart_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles btnStart.Click
report.CreateDocument(True)
End Sub
Private Sub btnStop_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles btnStop.Click
report.StopPageBuilding()
End Sub
See Also