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 .NET FastReport FastReport Report Report
April 22, 2025

Working with the TfrShellTreeView Component in FastReport VCL

In this article, we will look at the TfrShellTreeView component. It is designed to display file system elements and is partially analogous to the TDirectoryListBox, TDirectoryOutline, and TShellTreeView components.
April 22, 2025

Working with XML and JSON Formats in FastScript

In this article, we will take a closer look at how to work with JSON and XML in FastReport, see what properties and methods they have, and build reports from code with scripts.
April 21, 2025

How RFID Tags Work in FastReport VCL

In this article, we'll check out how RFID tags work with the new TfrxDeviceCommand object in FastReport VCL with release 2025.2.
Fast Reports
  • 800-985-8986 (English, US)
  • +31 97 01025-8466 (English, EU)
  • +49 30 56837-3928 (German, DE)
  • +55 19 98147-8148 (Portuguese, BR)
  • info@fast-report.com
  • 66 Canal Center Plaza, Ste 505, Alexandria, VA 22314

© 1998-2025 Fast Reports Inc.