logo
small logo
  • Produkty
  • Zamów
  • Wsparcie techniczne
  • Articles
  • Customer panel Wsparcie techniczne
    • en
    • pt
    • es
    • de
    • pl
    • JP
    • ZH
  • Glówna strona
  • /
  • Articles
  • /
  • Jak wyświetlić raport na podstawie warunków raportu nadrzędnego
  • Jak dokonać dziedziczenia raportów w FastReport.NET

    29 stycznia 2021

    Kiedy masz za zadanie stworzyć dużą liczbę raportów w ramach jednego stylu korporacyjnego, stajesz przed

    read more
  • FastCube – szybki OLAP Cube Engine i Pivot Grid

    29 lutego 2020

    Trudno sobie wyobrazić wykonanie analizy danych bez technologii OLAP (On-Line Analytical Processing). Jednak są różne

    read more
  • Jak programowo skonfigurować domyślne ustawienia klienta pocztowego dla wysyłania maili z FastReport.NET

    12 lutego 2021

    Jak wiele innych generatorów raportów, FastReport .NET pozwala na wysłanie raportu pocztą elektroniczną w dowolnym

    read more
  • Tworzenie i wyprowadzanie kodów kreskowych ITF-14 w aplikacjach .NET

    25 lutego 2021

    ITF-14 (Interleaved Two of Five) to dwupasmowy kod numeryczny, znany również jako kod o wysokiej

    read more
  • Rodzina generatorów raportów FastReport krótka recenzja

    23 marca 2020

    Bez raportowania nie da się prowadzić działalności w żadnej dziedzinie. Biurokracja jest nieodłączną częścią ludzkiego

    read more

Jak wyświetlić raport na podstawie warunków raportu nadrzędnego

8 stycznia 2020

Wiele nowoczesnych generatorów raportów pozwala na osadzenie kolejnego raportu, tzw. podraportu. Dlaczego? Na przykład dla wygody projektowania raportu. Jeśli raport główny i raport podrzędny mają inny typ, łatwiej jest je utworzyć osobno.

Ponadto, dzieląc raport w ten sposób, można kontrolować strukturę raportu w zależności od warunków. Na przykład wyświetlasz podstawowe informacje w głównym raporcie, ale w zależności od tych danych lub niektórych parametrów w raporcie zostanie wybrany jeden z kilku podraportów. Dzięki temu raport jest bardziej uniwersalny. Nie ma potrzeby tworzenia wielu raportów przy różnych okazjach.

Użytkownik generatora raportów ActiveReports był zaskoczony właśnie tym problemem:

Mam raport z dwoma podraportami. Chcę uruchomiać lub nie uruchomiać każdego podraportu na podstawie warunku. Czy jest to możliwe?

Odpowiedź pomocy technicznej:

Tak, pod pewnymi warunkami można wybrać SubReports z Parent Report. Na przykład można użyć właściwości Visible kontrolki Podreport w zdarzeniu Detail's Format Event, aby sterować widocznością subraportów na podstawie zmiennej licznika, która jest zwiększana przy każdym uruchomieniu  Detail.OnFormat.

W Fastreport .NET podraport jest tworzony po prostu na innej stronie i ma dostęp do tych samych danych, co raport główny. Raport główny dodaje obiekt Subreport do lokalizacji, w której zamierzasz umieścić raport podrzędny. Ten obiekt jest łączem do strony raportu, która zostanie utworzona natychmiast. W ramach nowej raportu utworzysz żądany wzór.

Nawiasem mówiąc, można najpierw utworzyć raport z kilkoma stronami, a następnie, jeśli chcesz, można dodać obiekt podraportu i umieścić go w jego właściwościach jako łącze do żądanej strony.

Przyjrzyjmy się, jak zrobić raport z wyświetlaniem podraportu zgodnie z warunkami. W rzeczywistości pomysł jest prosty. Dzięki na skryptom zawartym w raporcie zapewnimy wgląd w wymagane raporty podrzędne. W takim przypadku raporty podrzędne powinny być umieszczane w tym samym miejscu, jeden obiekt nad drugim.

Załóżmy, że nasz raport zawiera informacje o zamówieniu. Istnieje również kilka raportów związanych z tabelą zamówień: szczegóły zamówienia, produkty, klienci. Oprócz informacji o zamówieniu chcemy wymienić produkty w zamówieniu lub informacje o kliencie. Raport zawiera parametr, na podstawie którego, wyświetlimy listę produktów lub informacje o kliencie.

 

Szablon głównego raportu jest dość prosty:

Podstawowe informacje o zamówieniu pochodzą z tabeli „Zamówienia”. Obok dodanych pól mamy obiekt Podraport. W podraport1 właściwości, zdecydowanie należy umieścić PrintOnParent właściwość true.

Po dodaniu obiektu raportu podrzędnego automatycznie dodano nową stronę raportu. Na tej stronie tworzymy szablon podraportu, który wyświetli listę produktów. Ponieważ tabela Zamówienia jest połączona z szczegółami zamówienia, w raporcie zostaną wyświetlone rekordy odpowiadające bieżącemu zamówieniu. Tabela „Szczegóły zamówienia” ma również połączenie z tabelą „Produkty”. I będziemy korzystać z danych z tego połączenia:

 

 

Dlatego linki do pól mają taki widok: Order Details. Products. ProductName.

Teraz dodajmy jeszcze jeden obiekt podraportu. Umieść go nad podraportem1. Należy również ustawić PrintOnParent właściwość na true.

W drugim szablonie podraportu dodajemy pole z tabeli „Klienci”, które ma połączenie z tabelą „Zamówienia”. Teraz mamy raport z dwoma podraportami. Dodaj parametr raportu. Parametr można ustawić z zewnątrz raportu, na przykład z programu użytkownika. Dla  pasma danych w głównym raporcie utwórz zdarzenie obsługi BeforePrint:

1
2
3
4
5
6
7
8
9
10
11
12
13
private void Data1_BeforePrint(object sender, EventArgs e)
 {
 if ((int)Report.GetParameterValue("Parameter") == 1)
 {
 Subreport1.Visible = false;
 Subreport2.Visible = true;
 }
 else
 {
 Subreport1.Visible = true;
 Subreport2.Visible = false;
 }
 }

Kod jest prosty, więc w rzeczywistości podstawowe umiejętności programowania wystarczą, aby stworzyć taki rodzaj raportu.

W rezultacie lista produktów będzie wyglądać następująco:

A tabela informacji o kliencie będzie wyglądać tak:

about product pobierz zamów
avatar
Dmitriy Fedyashov
Technical Writer
Fast Reports Team: Dmitriy Fedyashov - Technical Writer at Fast Reports
.NET FastReport

Add comment
logo
  • 800-985-8986 (English, US)
  • +4930568373928 (German)
  • +55 19 98147-8148 (Portuguese)
  • info@fast-report.com
  • 901 N Pitt Str #325 Alexandria VA 22314
  • Zamów
  • Pobierz
  • Dokumentacja
  • Opinie użytkowników
  • Jak odinstalować nasze produkty
  • Ticket system
  • FAQ
  • Tutorial Video
  • Forum
  • Articles
  • Our News
  • Prasa o nas
  • Partnerzy
  • Kontakty

© 1998-2022 by Fast Reports Inc.

  • Poufność