Filtr danych w FastReport.net

Na potrzeby tego wątku przygotowałem dla was program posiadający jedną bazę danych. Wygląda to następująco.

filtr_fr_1

filtr_fr_2

Program posiada bazę danych z dwiema tabelami jedna to „rodzaj” a druga to „nazwa”. Jedna będzie przechowywała rodzaj produktu spożywczego a druga jego nazwę. Query zaprojektowałem następująco:

filtr_fr_3Tabele są powiązane zmienną „rodzaj”. Montujemy nasze DatagridView na formę (jak ktoś nie wie jak to zrobić zapraszam tutaj). Przenosimy raport na formę (jak ktoś nie wie jak się za to zabrać to zapraszam tutaj). Mamy wszystko co nam potrzeba. Teraz stworzymy taki kreator raportu w którym będziemy mogli wybrać jaki rodzaj spożywki chcemy wydrukować. filtr_fr_4

Zaczynamy od zamontowania bazy danych do naszego raportu:

filtr_fr_5Wybieramy bazę danych, przenosimy ją na prawą stronę i zamykamy. Teraz mamy zaczepioną bazę danych do naszego raportu. Teraz przyciskamy nasz przycisk „Drukuj” dwukrotnie i powinno nas przenieść do kodu formy naszego programu. Tutaj w opcji przycisku „drukuj” wpisujemy:

filtr_fr_6

Chwilowo nasz program otwiera pusty raport. Czas to zmienić, otwieramy „Design Report….”

filtr_fr_7Teraz w nowym raporcie musimy zatroszczyć się o segregacje naszych rodzajów spożywki, ponieważ nie chcemy aby wszystko było w raporcie na kupie. Posłuży nam do tego kreator grup.

filtr_fr_8

Wybieramy go i dodajemy kolumnę po której mamy mieć grupowanie:

filtr_fr_9Po wyborze klikamy przycisk „Dodaj”:

filtr_fr_10Teraz gdy mamy gotową grupę pora aby zapełnić nasz raport kolumnami. przenosimy interesujące nas elementy z prawej strony na raport:

filtr_fr_11Musimy pamiętać o zachowaniu kolejności. Jak widzimy Nasza baza dachy „nazwa_produktu” zamiera w sobie bazę danych „rodzaj_produktu”, to po nim grupujemy nasze kolumny więc elementy z „rodzaj_produktu” będą w zielonym obszarze a elementy „nazwa_produktu” w żółtym. Czas na wykończenie estetyczne naszego raportu. Ja pododawałem czarne ramki moim kolumnom i dodatkowo dodałem datę i numer strony w prawym dolnym rogu:

filtr_fr_12i numeracje wierszy mojej kolumny „nazwa”

filtr_fr_13Kończąc na tym etapie mamy do dyspozycji raport który wyświetli nam elementy każdej kategorii, u mnie to wygląda tak:

filtr_fr_14Teraz zrobimy filtr w którym będziemy mogli wybrać jaką spożywkę chcemy wydrukować. Wracamy do designera.

filtr_fr_15

Musimy utworzyć teraz nowe okno dialogowe z użytkownikiem.

Służy do tego ikonka na pasku u góry ekranu

<<<<<< taka jak na obrazku.

Pokaże nam się okno z formą:

filtr_fr_16Przeciągamy z lewej strony element o nazwie „DataSelector” na naszą nową formę.

filtr_fr_17Czas zapełnić nasz selector danymi. Musimy mu przypisać naszą bazę danych. W prawym dolnym rogu mamy właściwości naszego DataSelectora. Należy w miejscu „DataColumn” wybrać kolumnę segregacji:

filtr_fr_18I to będzie wszystko. Zamykamy nasz kreator i odpalamy program. Powinniśmy otrzymać następującą formę po kliknięciu „Drukuj”:

filtr_fr_19Problem ukaże się dopiero wtedy gdy chcemy wydrukować kilka raportów jak można zauważyć po prawej stronie rodzaje nie znikają:

filtr_fr_20Nie stwarza to dużych problemów ale jednak wygląda nieestetycznie a programy powinny być funkcjonalne i estetyczne. Jak to naprawić? Już tłumaczę musimy zrobić funkcję która będzie kasowała ustawienia wcześniej zapamiętane. W miejscu gdzie wpisywaliśmy „reaport1.show()” musimy dodać funkcje

która będzie nam odświeżać naszą formę. Treść funkcji:

Teraz powinno być wszystko „OK” Tak jak zawsze program można pobrać tutaj: filtr_frnet

Permalink do tego artykułu: https://visualmonsters.cba.pl/filtr-danych-w-fastreport-net/

Dodaj komentarz

Twój adres email nie będzie publikowany.