Dodajanje niza podatkov v poročilo
Pasovi
Pasovi se uporabljajo za postavljanje objektov, ki jih vsebujejo, na določena mesta na izhodni strani. Ko postavimo objekt v pas "PageHeader", poročilu povemo, da mora biti dani objekt prikazan na vrhu vsake strani v končnem poročilu. Podobno so objekti v pasu "PageFooter" prikazani na dnu vsake strani. To bomo prikazali s primerom. Ustvarili bomo poročilo, ki vsebuje "Hello!" na vrhu strani, trenutni datum desno od njega in številko strani na dnu strani na desni strani.
Odprite oblikovalnik in kliknite gumb "Novo poročilo" na orodni vrstici. Videli boste predlogo poročila, ki že vsebuje tri pasove: "ReportTitle", "MasterData" in "PageFooter". Za trenutek odstranimo pas "MasterData" (kliknite na katero koli prosto mesto znotraj pasu ali na njegov naslov in ga odstranite s tipko "Delete" ali "Izbriši" v kontekstnem meniju). Zdaj dodajmo nov pas ("PageHeader"). Kliknite gumb "Dodaj pas" na orodni vrstici objektov in iz spustnega seznama izberite "PageHeader". Vidimo, da je nov pas dodan na stran. Hkrati so obstoječi pasovi premaknjeni navzdol. Oblikovalnik samodejno postavi pasove na stran - pasovi za glavo na vrhu, pasovi za podatke v sredini in pasovi za nogo na dnu.
Zdaj dodajmo nekaj objektov. Dodajte objekt "Sistemskega besedila" v pas "PageHeader" in v njegovem urejevalniku izberite "[DATE]" iz spustnega seznama sistemskih spremenljivk (morate se spomniti, da se trenutni datum lahko prikaže tudi v objektu "Besedilo" tako, da v njegovem urejevalniku vtipkate "[DATE]"). Nato dodajte objekt "Besedilo", ki vsebuje "Hello!", v pas "ReportTitle". Objekt "Besedilo", ki prikazuje številko strani, je že samodejno dodan v pas "PageFooter".
Dodajte dodatne objekte "Besedilo" z imeni tipov pasov, kot jih vidite na naslednji sliki. Nastavite za vse nove objekte rdeč okvir in lastnost "Poravnava" na "baClient". Prav tako povečajte velikost pisave in spremenite besedilo pisave, da boste bolje videli položaje pasov. Oblikovanje poročila je na naslednji sliki:
Ko zaženete poročilo, boste videli, da so objekti v končnem poročilu natisnjeni na pravih mestih na strani.

Torej, pasovi so odgovorni za pozicioniranje objektov na strani. Glede na vrsto pasu lahko natisnemo objekte na vrhu ali dnu strani in na prvi ali zadnji strani. Osnovni pasovi, potrebni v večini poročil, delujejo na naslednji način:
Pas |
Položaj na strani |
PageHeader |
prikazan na samem vrhu vsake strani |
PageFooter |
prikazan na samem dnu vsake strani |
ReportTitle |
prikazan na vrhu prve strani - to je lahko pred ali po pasu "PageHeader", odvisno od lastnosti strani "TitleBeforeHeader" (najdete jo v inšpektorju objektov po kliku na katero koli prosto mesto na strani) |
ReportSummary |
prikazan v prostem prostoru na samem koncu poročila |
Poročilo je sestavljeno iz več pasov , ki omogočajo prikaz vrednosti na različnih delih poročila. Pasovi so različnih tipov in so razdeljeni na tiste, ki ne potrebujejo podatkov iz tabel ali poizvedb, in pas, ki potrebuje podatke iz tabel in poizvedb.
Glavni naslov prikažemo na začetku poročila na pasu "ReportTitle", datum, številko strani ali komentar na pasu "PageHeader" ali na pasu "PageFooter". Če želite, da se podatki prikažejo na koncu poročila, jih postavite v pas "ReportSummary".
Pasove določenega tipa lahko uporabimo v poročilu ali ne. Dodamo jih lahko preko orodne vrstice.
Najpomembnejše lastnosti pasov so:
AllowSplit |
Določa, ali se pas lahko natisne na več straneh. Če se pas ne more natisniti na več kot eni strani in je višji od višine strani, ki je na voljo za tiskanje, se spodnji del pasu ne prikaže.. |
Raztegnjen |
Določa, ali se višina pasu prilagodi višini objektov v njem. |
PrintOnFirstPage |
Določa, ali je pas prikazan na prvi strani. Le pas za glavo in pas za nogo imata to lastnost. |
PrintOnLastPage |
Določa, ali je pas prikazan na zadnji strani. Nastavitev je na voljo le za pas za nogo. |
ReprintOnNewPage |
Določa, ali je pas prikazan na naslednji strani. Nastavitev je na voljo le za pas za glavo. |
StartNewPage |
Določa, ali je pas prikazan na začetku naslednje strani. Nastavitev je na voljo za pasove z nizom podatkov, razen za skupinski nogo. |
Pasovi podatkov
Zdaj se bomo naučili, kako natisniti podatke iz tabel baze podatkov ali iz poizvedb. Kaj se šteje za 'tabelo' ali 'poizvedbo'? Sestavljene so iz podatkov, organiziranih v vrstice (zapisi ali vrstice), ki vsebujejo eno ali več stolpcev (polj). Za tiskanje te vrste podatkov FastReport uporablja poseben tip pasu, različne pasove, ki se imenujejo "...Data". Da natisnete celo tabelo ali le nekatere njene vrstice in polja, morate dodati enega ali več teh pasov v poročilo, jih povezati s tabelo in postaviti poljske objekte znotraj njih. Ko FastReport gradi poročilo, se pasovi natisnejo na izhodni strani, enkrat za vsak zapis v tabeli. Če na izhodni strani ni več prostega prostora za pas, bo poročevalni motor ustvaril novo izhodno stran, preden nadaljuje.
Pasovi, ki potrebujejo podatke, so:
Ime |
Opis |
MasterData |
Podatki 1st nivo podatkov, ponovljen za vsak zapis glavnih podatkov. Mora imeti definiran DataSet. |
GroupHeader |
Naslov skupine, natisnjen na začetku skupine. Pogoji, na katerih so podatki skupine, morajo biti definirani. |
GroupFooter |
Prikazan po skupini. |
DetailData |
Podatki 2nd nivo podatkov, ponovljen za vsak zapis podrobnosti. |
SubdetailData |
Podatki 3rd nivo podatkov, ponovljen enkrat za vsak podrobni zapis. |
Dodajanje niza podatkov v poročilo
Da bi bil komponenta Delphi (in podatki, povezani z njo) na voljo poročilu, mora biti vsak niz podatkov, uporabljen v poročilu, omogočen. To storite preko menija "Poročilo>Podatki..." v oblikovalniku, tako da izberete zahtevane nize podatkov v odprtem pogovornem oknu.
