Como combinar vários relatórios em um

2020-07-13

Muitos desenvolvedores de relatórios tiveram situações em que precisaram adicionar uma página que já havia sido implementada em outro relatório. E você teve que retrabalhar um relatório existente - adicionar uma nova página, fontes de dados. Nem todo mundo sabe que você pode simplesmente mesclar relatórios quando eles são exibidos.

O usuário do gerador de relatórios Stimulsoft também enfrentou o problema de combinar relatórios:

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

Estou usando as bibliotecas Stimulsoft para criar relatórios (controle StiReport) e depois exibi-los dentro de um controle StiViewer. O problema é quando atribuo vários relatórios ao visualizador, ele não atualiza ou exibe o conteúdo, mas funciona muito bem se eu definir apenas 1 relatório para o visualizador.

Questão do utilizador

Felizmente, o usuário encontrou uma maneira padrão de combinar relatórios. Os usuários do FastReport.NET provavelmente estariam interessados em saber como fazer isso em seu gerador de relatórios.

Vejamos o código:

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();

Como você pode ver, carregamos sequencialmente três relatórios diferentes no mesmo objeto de relatório.

Ao mesmo tempo, após cada carregamento do relatório, precisamos construir o relatório usando o método Prepare (). Mas, como você notou, para o segundo e o terceiro relatórios, usamos esse método com o parâmetro Prepare (true). Este parâmetro indica que você deve adicionar páginas às existentes, não apagá-las antes de adicioná-las. Agora, vamos executar o aplicativo e dar uma olhada no relatório:

Relatórios combinados

Como podemos ver, os três relatórios são elaborados um após o outro. Além disso, com esse método de combinação de relatórios, a numeração de páginas está completa. Por exemplo, o último relatório exibe a página número 4 na parte inferior:

A gama de números funciona para relatórios combinados

Desta forma, você pode mesclar relatórios sem a percepção do usuário. Dependendo do conteúdo necessário, você pode criar diferentes montagens a partir dos relatórios. Não há necessidade de criar relatórios grandes e complexos de várias páginas. Você pode instruir diferentes pessoas a criar vários relatórios simples e, no final, quando exibidos, você pode combiná-los. Sim, neste caso você terá vários modelos, mas o arquivo de relatório preparado em formato .fpx será um.

.NET FastReport Report
26 de outubro de 2026

Barra de progresso no Delphi: os componentes TfrProgressBar e TfrxProgressBar do FastReport VCL

Vamos examinar mais de perto os componentes TfrProgressBar e TfrxProgressBar do FastReport VCL: configuração da escala de progresso, limites e marcadores, vinculação a dados e um exemplo em Delphi.
26 de outubro de 2026

TfrImageComboBox: Uma lista suspensa com imagens e legendas de texto no FastReport VCL

TfrImageComboBox do FastEditors VCL: uma lista suspensa com ícones e rótulos para o FastReport VCL. Propriedades, eventos e exemplos de uso no Delphi.
23 de outubro de 2026

FastGrid por dentro: o objeto View, colunas e eventos do componente de grade do Delphi

Estrutura interna do FastGrid: objeto View, propriedade Appearance, colunas, eventos e modos de trabalho com dados DB e Unbound no Delphi. Análise com base no exemplo do projeto de demonstração GridDemo.dpr.

© 1998-2026 Fast Reports Inc.