Podczas tworzenia raportów wielokrotnie zachodzi konieczność dodania strony, która została już zaimplementowana w innym raporcie. Czasami trzeba przerobić istniejący raport – dodać nową stronę, źródła danych. Nie każdy wie, że można po prostu połączyć raporty, gdy są one wyświetlane.
Użytkownik generatora raportów Stimulsoft również musiał zmierzyć się z problemem łączenia raportów:
https://stackoverflow.com/questions/43569668/stimulsoft-view-multiple-reports-inside-stiviewer
Używam bibliotek Stimulsoft do tworzenia raportów (StiReport), a następnie wyświetlam je wewnątrz StiViewer. Problem polega na tym, że kiedy przypisuję do przeglądarki wiele raportów, nie odświeża ona ani nie wyświetla ich zawartości, ale działa poprawnie, jeśli ustawię tylko 1 raport.
Na szczęście, użytkownik znalazł standardowy sposób łączenia raportów. Użytkownicy FastReport.net prawdopodobnie chcieliby dowiedzieć się, jak to zrobić w generatorze raportów.
Spójrzmy na kod:
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(); |
Jak widać, ładujemy po kolei trzy różne raporty do tego samego obiektu raportu.
W tym samym czasie, po każdym załadowaniu raportu, musimy zbudować go przy użyciu metody Prepare(). Dla drugiego i trzeciego raportu użyliśmy tej metody z parametrem Prepare(true). Parametr ten wskazuje, że należy dodawać strony do istniejących, zamiast usuwać je przed dodaniem. Uruchommy teraz aplikację i spójrzmy na raport:
Jak widać, wszystkie trzy raporty są sporządzane jeden po drugim. Ponadto, dzięki tej metodzie łączenia raportów, numeracja stron jest gotowa. Na przykład, ostatni raport wyświetla stronę numer 4 na dole:
W ten sposób można łączyć raporty niezauważone przez użytkownika. W zależności od wymaganej zawartości, można tworzyć różne zespoły z raportów. Nie ma potrzeby tworzenia dużych i złożonych, wielostronicowych raportów. Można przekazać innym, aby stworzyli kilka prostych raportów, a na końcu, gdy zostaną one wyświetlone, można je połączyć. Tak, w tym przypadku będzie kilka szablonów, ale przygotowany plik raportu w formacie fpx będzie jeden.