Adăugarea unui set de date la un raport
Bande
Bandele sunt folosite pentru a plasa obiectele pe care le conțin în locații particulare pe pagina de ieșire. Când plasăm un obiect în banda „PageHeader”, spunem motorului de raportare că obiectul dat trebuie să fie afișat în partea de sus a fiecărei pagini din raportul final. În mod similar, obiectele din banda „PageFooter” sunt afișate în partea de jos a fiecărei pagini. Să demonstrăm acest lucru cu un exemplu. Vom crea un raport care conține „Hello!” în partea de sus a paginii, data curentă în dreapta acesteia și numărul paginii în partea de jos a paginii, pe partea dreaptă.
Deschideți designerul și faceți clic pe butonul „New report” din bara de instrumente. Veți vedea un șablon de raport care conține deja trei benzi: „ReportTitle”, „MasterData” și „PageFooter”. Să eliminăm banda „MasterData” pentru o vreme (faceți clic pe orice spațiu liber din interiorul benzii sau pe antetul acesteia și eliminați-o cu tasta „Delete” sau "Delete" din meniul contextual). Acum să adăugăm o nouă bandă („PageHeader”). Faceți clic pe butonul „Add band” din bara de instrumente a obiectelor și selectați „PageHeader” din lista derulantă. Vedem că o nouă bandă este adăugată pe pagină. În același timp, benzile existente sunt mutate în jos. Designerul poziționează automat benzile pe pagină - benzile de antet în partea de sus, benzile de date în mijloc și benzile de subsol în partea de jos.
Acum să adăugăm câteva obiecte. Adăugați un obiect "System text" în banda "PageHeader" și în editorul său selectați "[DATE]" din lista derulantă a variabilelor de sistem (trebuie să vă amintiți că data curentă poate fi, de asemenea, afișată într-un obiect "Text" tastând "[DATE]" în editorul său). Apoi, adăugați un obiect „Text” care conține „Hello!” în banda „ReportTitle”. Un obiect "Text" care afișează numărul paginii a fost deja adăugat automat în banda „PageFooter”.
Adăugați obiecte suplimentare "Text" cu numele tipului de bandă așa cum vedeți în imaginea următoare. Setați pentru toate obiectele noi un cadru roșu și proprietatea "Align" la "baClient". Măriți de asemenea dimensiunea fontului și schimbați textul fontului pentru a vedea mai bine pozițiile benzilor. Designul raportului este în imaginea următoare:
Când rulați raportul, veți vedea că obiectele din raportul final sunt tipărite în pozițiile corecte pe pagină.

Așadar, benzile sunt responsabile pentru poziționarea obiectelor pe pagină. În funcție de tipul de bandă, putem tipări obiecte în partea de sus sau în partea de jos a unei pagini și pe prima sau ultima pagină. Benzile de bază necesare în cele mai multe rapoarte funcționează astfel:
Bandă |
Poziție pe pagină |
PageHeader |
afișată în partea de sus a fiecărei pagini |
PageFooter |
afișată în partea de jos a fiecărei pagini |
ReportTitle |
afișată în partea de sus a primei pagini - aceasta poate fi înainte sau după banda "PageHeader", în funcție de proprietatea "TitleBeforeHeader" a paginii (găsită în inspectorul de obiecte după ce faceți clic pe orice spațiu liber de pe pagină) |
ReportSummary |
afișată în spațiul liber de la sfârșitul raportului |
Raportul constă din mai multe bande care vă permit să afișați valori pe diferite părți ale raportului. Benzile sunt de diferite tipuri și sunt împărțite în cele care nu au nevoie de date din tabele sau interogări și benzile care au nevoie de date din tabele și interogări.
Afisăm titlul principal la începutul raportului pe banda "ReportTitle", data, numărul paginii sau comentariul pe banda "PageHeader" sau pe banda "PageFooter". Dacă doriți ca datele să fie afișate la sfârșitul raportului, puneți-le în banda "ReportSummary".
Putem folosi benzile de tip specificat în raport sau nu. Le putem adăuga prin bara de instrumente.
Cele mai importante proprietăți ale benzilor sunt:
AllowSplit |
Specificați dacă o bandă poate fi tipărită pe mai multe pagini. Dacă banda nu poate fi tipărită pe mai mult de o pagină și este mai înaltă decât înălțimea paginii care este disponibilă pentru tipărire, partea inferioară a benzii nu apare. |
Stretched |
Specificați dacă înălțimea benzii ar trebui să fie ajustată la înălțimea obiectelor din ea. |
PrintOnFirstPage |
Specificați dacă banda este afișată pe prima pagină. Numai antetul paginii și subsolul paginii au această proprietate. |
PrintOnLastPage |
Specificați dacă banda este afișată pe ultima pagină. Setare disponibilă doar pentru subsolul paginii. |
ReprintOnNewPage |
Specificați dacă banda este afișată pe pagina următoare. Setare disponibilă doar pentru antetul paginii. |
StartNewPage |
Specificați dacă banda este afișată la începutul paginii următoare. Setare disponibilă pentru benzile cu set de date, cu excepția subsolului grupului. |
Bande de date
Acum vom învăța cum să tipărim date din tabele de baze de date sau din interogări. Ce este considerat a fi o 'tabelă' sau o 'interogare'? Acestea constau din date organizate în linii (înregistrări sau rânduri) care conțin una sau mai multe coloane (câmpuri). Pentru a tipări acest tip de date, FastReport folosește un tip special de bandă, diferitele benzi care sunt numite "...Data". Pentru a tipări o întreagă tabelă sau doar unele dintre rândurile și câmpurile sale, trebuie să adăugați una sau mai multe dintre aceste benzi în raport, să le conectați la tabel și să plasați obiecte de câmp în interiorul lor. Când FastReport construiește raportul, benzile vor fi tipărite pe pagina de ieșire, o dată pentru fiecare înregistrare din tabel. Dacă nu mai există spațiu liber pe pagina de ieșire pentru o bandă, o nouă pagină de ieșire va fi creată de motorul de raportare înainte de a continua.
Benzile care au nevoie de date sunt:
Nume |
Descriere |
MasterData |
Datele nivelului 1st repetate pentru fiecare înregistrare de date master. Trebuie să aibă un DataSet definit. |
GroupHeader |
Titlul grupului tipărit la începutul grupului. Condiția pe care se grupează datele câmpului trebuie să fie definită. |
GroupFooter |
Afișată după grup. |
DetailData |
Datele nivelului 2nd repetate pentru fiecare înregistrare de detaliu. |
SubdetailData |
Datele nivelului 3rd repetate o dată pentru fiecare înregistrare de subdetaliu. |
Adăugarea unui set de date la raport
Pentru a face componenta Delphi (și datele conectate la aceasta) disponibile pentru raport, orice set de date utilizat în raport trebuie să fie activat. Faceți acest lucru prin elementul de meniu „Report>Data...” din designer, selectând seturile de date necesare în dialogul deschis.
