Otroške skupine
Otroške skupine
Ko potrebujemo, da imajo deli skupine različne lastnosti, jo razdelimo na več skupin. Prva ostane enaka, ostale pa so podrejene njej (Otroška skupina). Mnoge takšne skupine so na poročilu '241 - Račun', ki ga lahko najdemo v meniju 'Blago | Izdaja'. Na tem poročilu lahko najdemo mnoge skupine, ki imajo različne pogoje za vidnost. Pogoji so v tem primeru definirani v skriptu. Otroške skupine se uporabljajo tudi v primeru, ko je na skupini objekt, katerega višina se spreminja, in razdalja do spodnjih objektov mora ostati enaka. Vsaka otroška skupina, razen zadnje, mora imeti dodeljeno lastnost "Otroška", njena vrednost je ime naslednje otroške skupine v skupini. Prav tako mora imeti starševska skupina prve otroške skupine v skupini dodeljeno lastnost "Otroška". Če želimo, da so naslednje otroške skupine v skupini vidne (če ustrezajo pogoju za vidnost), morate omogočiti lastnost "PrintChildIfInvisible" otroške in na starševski skupini.
Poglejmo primer!
Pri poročilu lahko pride do težave, ko ima eno polje vsebino spremenljive dolžine. Da to simuliramo v našem primeru, zmanjšajmo širino objekta Bio."Skupno ime" na 2,5 cm in omogočimo lastnost "Raztegniti" za ta objekt in tudi za skupino "Podatki prve ravni". Omogočite vse okvirne črte za vse objekte, da bodo učinki funkcije raztezanja jasni. Oblikovanje zdaj izpiše poročilo, kot je to:

Tukaj prvi objekt polja Bio."Skupno ime" vsebuje veliko besedila in je raztegnjen v dve vrstici. To povzroči, da se objekt polja Bio."Dolžina (cm)" pod njim premakne navzdol. To se zgodi, ker imajo vsi objekti privzeto nastavljeno lastnost "ShiftMode" na "smAlways", kar pomeni, da se premikajo navzdol, če je nad njimi raztegljiv objekt ("Besedilo" objekt z omogočeno lastnostjo "Raztegniti"). Razdalja, za katero se premakne, je odvisna od tega, koliko je raztegnjen objekt nad njim.
Toda to ni tisto, kar želimo, da se zgodi na naši etiketi - želimo, da se tudi objekt "Dolžina, cm." premakne za enako količino. To lahko dosežemo z uporabo posebne vrste skupine FastReport, imenovane "Otroška" skupina. "Otroška" skupina je povezana z (in prikazana po) svojo starševsko skupino. Dodajte "Otroško" skupino v oblikovanje in povlecite dva objekta "Besedilo" vanjo, kot je prikazano tukaj:

Povežite skupino MasterData z otroško skupino, tako da v inspektorju objektov nastavite njeno lastnost "Otroška" na "Child1". Zdaj, vsakič, ko se natisne skupina MasterData, se otroška skupina natisne takoj za njo:

Naslov "Dolžina, cm:" se zdaj natančno poravna z vrednostnim poljem "50". Da preprečite, da bi se otroška skupina premaknila na naslednjo stran, če na strani ni dovolj belega prostora (in postala tako imenovana 'sirota' od svoje starševske skupine), omogočite lastnost "KeepChild" starševske skupine v inspektorju objektov.