Rendering and Exporting a Report Asynchronously
Our sample projects and report templates can help you learn the basics of working with our products.This example shows how to render and export reports asynchronously. First, specify the path to the reports:
Next, use
After that, use
In the screenshot below you can see the result of the sample code:

...
public FormMain()
{
InitializeComponent();
labelLoad.Text = "Loading... ";
Report = new StiReport();
Report.Load("..\\MasterDetail.mrt");
labelLoad.Text += "OK";
}
...
Next, use
RenderAsync() method to render the report:
...
private async void buttonRender_Click(object sender, EventArgs e)
{
labelRender.Text = "Rendering... ";
await Report.CompileAsync(); // if compilation is needed
await Report.RenderAsync();
labelRender.Text += "OK";
}
...
After that, use
ExportDocumentAsync() method to export the report:
...
private async void buttonExport_Click(object sender, EventArgs e)
{
saveFileDialog.FileName = Report.ReportName + ".pdf";
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
labelExport.Text = "Exporting... ";
await Report.ExportDocumentAsync(StiExportFormat.Pdf, saveFileDialog.FileName);
labelExport.Text += "OK";
}
}
...In the screenshot below you can see the result of the sample code:
