Dodavanje skupa podataka u izveštaj
Pojasevi
Pojasevi se koriste za postavljanje objekata koje sadrže na određene lokacije na izlaznoj stranici. Kada postavimo objekat u pojas “PageHeader”, govorimo mehanizmu izveštaja da dati objekat mora biti prikazan na vrhu svake stranice u završnom izveštaju. Slično tome, objekti u pojasu “PageFooter” prikazuju se na dnu svake stranice. Demonstriraćemo ovo primerom. Napravićemo izveštaj koji sadrži “Hello!” na vrhu stranice, trenutni datum desno od njega i broj stranice na dnu stranice sa desne strane.
Otvorite dizajner i kliknite na dugme “New report” na alatnoj traci. Videćete šablon izveštaja koji već sadrži tri pojasa: “ReportTitle”, “MasterData” i “PageFooter”. Uklonimo na trenutak pojas “MasterData” (kliknite na bilo koji slobodan prostor unutar pojasa ili na njegov zaglavlje i uklonite ga pomoću tastera “Delete” ili opcije "Delete" u kontekstnom meniju). Sada dodajmo novi pojas (“PageHeader”). Kliknite na dugme “Add band” na alatnoj traci objekata i izaberite “PageHeader” iz padajuće liste. Vidimo da je novi pojas dodat na stranicu. Istovremeno, postojeći pojasevi su pomereni nadole. Dizajner automatski pozicionira pojaseve na stranici - zaglavni pojasevi na vrhu, pojasevi sa podacima u sredini i završni pojasevi na dnu.
Sada dodajmo neke objekte. Dodajte objekat "System text" u pojas "PageHeader" i u njegovom editoru izaberite "[DATE]" iz padajuće liste sistemskih promenljivih (treba da zapamtite da se trenutni datum može prikazati i u objektu "Text" unosom "[DATE]" u njegovom editoru). Zatim dodajte objekat “Text” koji sadrži “Hello!” u pojas “ReportTitle”. Objekat "Text" koji prikazuje broj stranice već je automatski dodat u pojas “PageFooter”.
Dodajte dodatne objekte "Text" sa nazivima tipova pojaseva kao što vidite na sledećoj slici. Postavite za sve nove objekte crveni okvir i svojstvo "Align" na "baClient". Povećajte takođe veličinu fonta i promenite tekst fonta kako biste bolje videli pozicije pojaseva. Dizajn izveštaja je na sledećoj slici:
Kada pokrenete izveštaj, videćete da su objekti u završnom izveštaju odštampani na odgovarajućim pozicijama na stranici.

Dakle, pojasevi su odgovorni za pozicioniranje objekata na stranici. U zavisnosti od tipa pojasa, možemo štampati objekte na vrhu ili dnu stranice, kao i na prvoj ili poslednjoj stranici. Osnovni pojasevi potrebni u većini izveštaja funkcionišu na sledeći način:
Pojas |
Pozicija na stranici |
PageHeader |
prikazuje se na samom vrhu svake stranice |
PageFooter |
prikazuje se na samom dnu svake stranice |
ReportTitle |
prikazuje se na vrhu prve stranice - ovo može biti pre ili posle pojasa "PageHeader", u zavisnosti od svojstva stranice "TitleBeforeHeader" (nalazi se u inspektoru objekata nakon klika na bilo koji slobodan prostor na stranici) |
ReportSummary |
prikazuje se u slobodnom prostoru na samom kraju izveštaja |
Izveštaj se sastoji od nekoliko pojaseva koji omogućavaju prikazivanje vrednosti na različitim delovima izveštaja. Pojasevi su različitih tipova i dele se na one koji ne zahtevaju podatke iz tabela ili upita i pojaseve koji zahtevaju podatke iz tabela i upita.
Glavni naslov prikazujemo na početku izveštaja u pojasu "ReportTitle", datum, broj stranice ili komentar u pojasu "PageHeader" ili "PageFooter". Ako želite da se podaci prikažu na kraju izveštaja, stavite ih u pojas "ReportSummary".
Možemo koristiti pojaseve određenog tipa u izveštaju ili ne. Možemo ih dodati putem alatne trake.
Najvažnija svojstva pojaseva su:
AllowSplit |
Određuje da li pojas može biti štampan na više stranica. Ako pojas ne može biti štampan na više od jedne stranice i viši je od visine stranice dostupne za štampanje, donji deo pojasa se ne pojavljuje. |
Stretched |
Određuje da li visina pojasa treba da se prilagodi visini objekata u njemu. |
PrintOnFirstPage |
Određuje da li se pojas prikazuje na prvoj stranici. Samo zaglavlje stranice i podnožje stranice imaju ovo svojstvo. |
PrintOnLastPage |
Određuje da li se pojas prikazuje na poslednjoj stranici. Podešavanje dostupno samo za podnožje stranice. |
ReprintOnNewPage |
Određuje da li se pojas prikazuje na sledećoj stranici. Podešavanje je dostupno samo za zaglavlje stranice. |
StartNewPage |
Određuje da li se pojas prikazuje na početku sledeće stranice. Podešavanje je dostupno za pojaseve sa skupom podataka osim završnog pojasa grupe. |
Pojasevi sa podacima
Sada ćemo naučiti kako da štampamo podatke iz tabela baze podataka ili iz upita. Šta se smatra 'tabelom' ili 'upitom'? Oni se sastoje od podataka organizovanih u redove (zapise ili redove) koji sadrže jednu ili više kolona (polja). Za štampanje ovakvih podataka FastReport koristi poseban tip pojasa, razne pojaseve koji se nazivaju "...Data". Da biste štampali celu tabelu ili samo neke njene redove i polja, morate dodati jedan ili više ovih pojaseva u izveštaj, povezati ih sa tabelom i postaviti objekte polja unutar njih. Kada FastReport kreira izveštaj, pojasevi će biti štampani na izlaznoj stranici, jednom za svaki zapis u tabeli. Ako na izlaznoj stranici nema slobodnog prostora za pojas, mehanizam izveštaja će kreirati novu izlaznu stranicu pre nego što nastavi.
Pojasevi koji zahtevaju podatke su:
Naziv |
Opis |
MasterData |
Podaci prvognivoa podataka ponavljaju se za svaki zapis glavnih podataka . Mora imati definisan DataSet.GroupHeader |
Naslov grupe štampa se na početku grupe. Uslov na osnovu kojeg se podaci grupišu mora biti definisan. |
GroupFooter |
Prikazuje se |
nakon grupe. DetailData |
Podaci |
drugog nivoa podataka ponavljaju se za svaki detaljni zapis.SubdetailData Podaci |
trećeg |
nivoa podataka ponavljaju se jednom za svaki zapis pod-detalja. Dodavanje skupa podataka u izveštajDa bi Delphi komponenta (i podaci povezani sa njom) bili dostupni izveštaju, svaki skup podataka koji se koristi u izveštaju mora biti omogućen. To se radi putem stavke menija “Report>Data...” u dizajneru, izborom potrebnih skupova podataka u otvorenom dijalogu. data level repats once for each sub-detail record. |
Adding a Dataset to the Report
To make the Delphi component (and the data connected to it) available to the report, any dataset used in the report must be enabled. Do this through the “Report>Data...” menu item in the designer, selecting the required datasets in the opened dialogue.
