Muchos desarrolladores de informes tuvieron situaciones en las que necesitaban agregar una página que ya se había implementado en otro informe. Y usted tuvo que volver a trabajar con el informe existente: agregar una nueva página, fuentes de datos. No todo el mundo sabe que puede simplemente fusionar informes cuando se muestran.
El usuario del generador de informes Stimulsoft también se enfrentó al problema de combinar informes:
https://stackoverflow.com/questions/43569668/stimulsoft-view-multiple-reports-inside-stiviewer
Utilizo las bibliotecas de Stimulsoft para crear informe (control StiReport) y luego mostrarlo dentro de un control StiViewer. El problema es que cuando asigno varios informes al visualizador, no actualiza ni muestra el contenido, pero funciona bien si solo configuro 1 informe para el visualizador.
Afortunadamente, el usuario ha encontrado una forma estándar de combinar informes. Los usuarios de FastReport .NET probablemente estarían interesados en saber cómo hacer esto en su generador de informes.
Veamos el 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 puede ver, cargamos secuencialmente lso tres informes diferentes en el mismo objeto de informe.
Al mismo tiempo, después de cada carga del informe, necesitamos crear el informe utilizando el método Prepare (). Pero como ya ha notado, para el segundo y tercer informe, usamos este método con el parámetro Prepare (true). Este parámetro indica que debe agregar páginas a las existentes, no borrarlas antes de agregarlas. Ahora, ejecutemos la aplicación y echemos un vistazo al informe:
Como podemos ver, los tres informes se elaboran uno tras otro. Además, con este método de combinar informes, la numeración de páginas es completa. Por ejemplo, el último informe muestra la página número 4 en la parte inferior:
De este modo, puede fusionar informes sin que el usuario lo note. Dependiendo del contenido requerido, puede crear diferentes ensamblajes a partir de los informes. No es necesario crear informes de multiples páginas que son grandes y complejos. Puede delegar la creación de varios informes sencillos en diferentes personas y, al final, cuando se muestran, puede combinarlos. Sí, en este caso tendrá varias plantillas, pero solo un archivo de informe preparado en formato fpx.