Djeca bendovi
Djeca Bendovi
Kada nam je potrebno da dijelovi benda imaju različite osobine, dijelimo ga na nekoliko bendova. Prvi ostaje isti, a ostali su podređeni njemu (Dječiji bend). Mnogi takvi bendovi su na izvještaju '241 - Faktura' koji se može pronaći u meniju 'Robа | Izdanje'. Na ovom izvještaju možemo pronaći mnoge bendove koji imaju različite uslove za vidljivost. Uslovi su u ovom slučaju definirani u skripti. Dječiji bendovi se također koriste u slučaju kada je na bendu objekat čija visina se mijenja, a udaljenost do donjih objekata mora ostati ista. Svaki dječiji bend, osim posljednjeg, mora imati dodijeljenu "Dječiju" osobinu, a njena vrijednost je ime sljedećeg dječijeg benda u grupi. Također, roditeljski bend prvog dječijeg benda u grupi mora imati dodijeljenu "Dječiju" osobinu. Ako želimo da sljedeći dječiji bendovi u grupi mogu biti vidljivi (ako odgovaraju uslovu za vidljivost) morate omogućiti "PrintChildIfInvisible" osobinu dječijeg i roditeljskog benda.
Pogledajmo primjer!
Može doći do problema kada jedno polje u izvještaju ima sadržaj varijabilne dužine. Da bismo to simulirali u našem primjeru, smanjimo širinu objekta Bio.“Zajedničko ime” na 2.5 cm i omogućimo “Stretch” osobinu za ovaj objekat i također za bend “Podaci prvog nivoa”. Omogućite sve okvire za sve objekte kako bi efekti funkcije istezanja bili jasni. Dizajn sada generira izvještaj poput ovog:

Ovde prvi objekat polja Bio.“Zajedničko ime” sadrži mnogo teksta i rastegnut je u dva reda. To uzrokuje da se objekat polja Bio.“Dužina (cm)” koji se nalazi ispod njega pomjeri prema dolje. To se dešava jer svi objekti imaju svoju "ShiftMode" osobinu postavljenu na "smAlways" po defaultu, što znači da se pomjeraju prema dolje ako iznad njih postoji objekat koji se može istegnuti (objekat “Tekst” sa omogućenom “Stretch” osobinom). Udaljenost pomjeranja zavisi od toga koliko je objekat iznad istegnut.
Ali to nije ono što želimo da se desi na našoj etiketi - želimo da se objekat “Dužina, cm.” također pomjeri za istu količinu. To se može postići korištenjem posebnog tipa FastReport benda nazvanog “Dječiji” bend. “Dječiji” bend je povezan sa (i prikazan nakon) svojim roditeljskim bendom. Dodajte “Dječiji” bend u dizajn i prevucite dva “Tekst” objekta u njega, kao što je ovde prikazano:

Povežite MasterData bend sa Dječijim bendom, postavljajući njegovu “Dječiju” osobinu na “Child1” u inspektoru objekata. Sada, svaki put kada se MasterData bend štampa, Dječiji bend se štampa odmah nakon njega:

Naslov “Dužina, cm:” sada se tačno poravnava sa svojim poljem vrijednosti “50”. Da biste spriječili da se dječiji bend pomjeri na sljedeću stranicu ako nema dovoljno bijelog prostora na stranici (i postane takozvani 'siromašni' od svog roditeljskog benda), omogućite “KeepChild” osobinu roditeljskog benda u inspektoru objekata.