Skip to main content

XtraReport.CreateDocumentAsync(CancellationToken) Method

Asynchronously creates a document from an XtraReport to print or display this report.

Namespace: DevExpress.XtraReports.UI

Assembly: DevExpress.XtraReports.v24.2.dll

NuGet Package: DevExpress.Reporting.Core

Declaration

public Task CreateDocumentAsync(
    CancellationToken token = default(CancellationToken)
)

Optional Parameters

Name Type Default Description
token CancellationToken null

A cancellation token that the task observes.

Returns

Type Description
Task

A task that creates a report document.

Remarks

This method is equivalent to the CreateDocument() method, but does not lock other actions performed concurrently. For instance, the user interface remains operational while the application creates a report document.

Call the CreateDocumentAsync method with the await operator.

The optional CancellationToken parameter provides a way to send a cancellation signal to the task. The task monitors the token and stops when it receives the signal. Create a CancellationTokenSource class instance and pass its Token property to the CreateDocumentAsync method call. Call the CancellationTokenSource.Cancel method to stop the task.

Example

The code sample below creates a report document asynchronously. A CancellationTokenSource class instance is used to allow users to interrupt the document creation process if it takes too long.

using DevExpress.XtraReports.UI;
using System;
using System.Threading;
// ...
// Use cancellationTokenSource to allow users to stop the document creation process.
CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();
// ...
async public void CreateReportAsync()
{
    // Create a simple report.
    XtraReport report = new XtraReport() {
        Name = "SimpleReport",
        Bands = {
            new DetailBand() {
                Controls = {
                    new XRLabel() {
                        Text = "Simple Report"
                    }
                }
            }
        }
    };
    // Create a report document.
    await report.CreateDocumentAsync(cancellationTokenSource.Token);
}
See Also