How to combine multiple reports into one

2020-07-13

Many report developers had situations when they needed to add a page that had already been implemented in another report. And you had to rework an existing report - add a new page, data sources. Not everyone knows that you can simply merge reports when they are displayed.

The user of Stimulsoft report generator also faced the problem of combining reports:

https://stackoverflow.com/questions/43569668/stimulsoft-view-multiple-reports-inside-stiviewer

I am using Stimulsoft libraries to create reports (StiReport control) and then showing it inside a StiViewer control. The problem is when i assign multiple reports to the viewer, it does not refresh or display the contents but it works just fine if i only set 1 report to the viewer.

User issue

Fortunately, the user has found a standard way to combine reports. FastReport.net users would probably be interested to know how to do this in their report generator.

Let's look at the code:

1
2
3
4
5
6
7
8
9
10
11
Report report = new Report();
 DataSet data = new DataSet();
 data.ReadXml("K:/My documents/nwind.xml");
 report.RegisterData(data);
 report.Load("K:/My documents/Master-Detail.frx");
 report.Prepare();
 report.Load("K:/My documents/Highlight.frx");
 report.Prepare(true);
 report.Load("K:/My documents/Barcode.frx");
 report.Prepare(true);
 report.ShowPrepared();

 As you can see, we sequentially load three different reports into the same report object.

At the same time, after each loading of the report, we need to build the report using the Prepare() method. But as you have noticed, for the second and third reports, we used this method with the Prepare(true) parameter. This parameter indicates that you should add pages to the existing ones, not clear them before adding them. Now, let's run the application and take a look at the report:

Combined reports

As we can see, all three reports are drawn up one after the other. Moreover, with this method of combining reports, page numbering is through. For example, the last report displays page number 4 at the bottom:

Numbering range works for combined reports

 

In this way, you can merge reports unnoticed by the user. Depending on the required content, you can create different assemblies from the reports. There is no need to create large and complex multi-page reports. You can instruct different people to create several simple reports and at the end, when displayed, you can combine them. Yes, in this case you will have several templates, but the prepared report file in fpx format will be one.

.NET FastReport Report
October 26, 2026

TfrImageComboBox: A drop-down list with images and text captions in FastReport VCL

TfrImageComboBox from FastEditors VCL: a drop-down list with icons and labels for FastReport VCL. Properties, events, and usage examples in Delphi.
October 26, 2026

Progress Bar in Delphi: The TfrProgressBar and TfrxProgressBar Components from FastReport VCL

Let’s take a closer look at the TfrProgressBar and TfrxProgressBar components from FastReport VCL: configuring the progress scale, thresholds and markers, binding to data, and a Delphi example.
October 23, 2026

FastGrid from the Inside: The View Object, Columns, and Events of the Delphi Grid Component

FastGrid’s internal structure: the View object, the Appearance property, columns, events, and the DB and Unbound data modes in Delphi. Analysis using the GridDemo.dpr demo project as an example.

© 1998-2026 Fast Reports Inc.