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.
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:
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:
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.