Pantheon User Manual

 Sadržaj
 Glavna strana- Dobrodošli u PANTHEON uputstva
[Collapse]PANTHEON
 [Collapse]PANTHEON priručnici
  [Collapse]Priručnik za PANTHEON
   [Expand]Pantheon Hosting
   [Expand]Pomoć
   [Collapse]Podešavanja
    [Expand]Subjekti
    [Expand]Identi
    [Expand]POS
    [Expand]Proizvodnja
    [Expand]Zaposleni
     Kalendar
    [Expand]Računovodstvo
    [Expand]Carina
    [Collapse]Program
     [Expand]Vrste dokumenata
     [Expand]Ispisi u PANTHEON-u
     [Collapse]Oblici ispisa
       Prenos ispisa u druge baze
       Izvoz oblika ispisa
       Uvoz oblika ispisa
       Prečica za ispis
      [Expand]Izveštaji Registar
       Dupliranje ispisa i promena tipa ispisa
       Pregled štampe
      [Expand]Upotreba izraza SQLEXP u ispisima
      [Expand]Izvještajni dizajner
      [Expand]Obaveštenja prilikom oblikovanja ispisa
      [Collapse]Pravljenje izveštaja
        Izveštaj o objektima
        "Zdravo, Svete!" Primer Izveštaja
        "Text" objekat
        Bendovi
        "Lista Tema" Izveštaj: Alias-i i Varijable
        "Slika" Objekat
        Protežna objekti, prekidi stranica i pomerajući objekti
        Prikazivanje podataka u obliku tabele
        Štampanje etiketa
        Dečje grupe
        Izveštaj sa Dva Nivoa Podataka (Glavni-Detalji)
        Naslovi i Podnožja Data Banda
        Višestrana izveštaj
      [Expand]Grupe i Agregati
      [Expand]Oblikovanje ispisa
      [Expand]Formatiranje i Isticanje
       Ugnježdene izveštaje (podizveštaji)
     [Expand]Šifarnik tekstova za vrste dokumenata
      Načini dostave
     [Expand]ARES
     [Expand]Administratorska konzola
     [Expand]Elementi kontrolne table
      Izveštaji na kontrolnoj tabli
      Ad-hoc analiza
     [Expand]Kartice poverenja
     [Expand]Izveštaji kontrolne table
     [Expand]Trenutni korisnik Ctrl - U
     [Expand]Ad-hoc analize
      SQL editor
     [Expand]Poštanska knjiga
      Klasifikacijski plan
    [Expand]Dokumentacija
   [Expand]Narudžbine
   [Expand]Roba
   [Expand]Proizvodnja
   [Expand]POS
   [Expand]Servis
   [Expand]Novac
   [Expand]Kadrovi
   [Expand]Radna površina
   [Expand]Analize
   [Expand]Korisničke strane
   [Expand]Poslovni saveti
    Dodatno
   [Expand]Plansko-analitički alat ZEUS
   [Expand]Dodatni programi
   [Expand]Obaveštenja programa
   [Expand]Zvanična mišljenja
   [Expand]Dodatni programi
   [Expand]Sistemska okolina
    Rečnik izraza
   [Expand]Zastareli produkti
  [Expand]Vodič po DataLab PANTHEON™ Farming
  [Expand]Vodič za mobilni POS
  [Expand]Vodič za PANTHEON Vet
 [Expand]PANTHEON korisnički priručnici
[Expand]PANTHEON Web
[Expand]PANTHEON Granule

Load Time: 765.6286 ms
print   |
Label

Streachable objekti

Stretching objekti

Razmotrimo slučaj kada imamo višelinijski tekst različite dužine. "Text" objekat koji prikazuje informacije iz ovog polja ima fiksnu veličinu. Zato se čini da su neki redovi isečeni. Šta se može učiniti povodom toga?

clip0155

Naravno, ili bi veličina objekta mogla biti povećana ili bi veličina fonta mogla biti smanjena. Međutim, to može dovesti do rasipanja prostora na izlaznoj stranici, jer neki ribe imaju duge opise, dok drugi imaju kratke. FastReport ima neka svojstva koja nam omogućavaju da rešimo ovaj problem.

Ova svojstva omogućavaju traci ili objektu da automatski prilagode svoju visinu kako bi stvorili neophodan prostor za dati zapis (red). Da bismo to postigli, samo treba da omogućimo "Stretch" svojstvo i trake i "Text" objekta. Međutim, to nije sve, jer "Text" objekat sa dužim tekstom treba da može da se rasteže sam, pa ćemo morati da postavimo neka od njegovih drugih svojstava takođe.

"Text" objekat može automatski postaviti svoju visinu i širinu kako bi napravio prostor za svoj sadržaj. "AutoWidth" i "StretchMode" mogu se koristiti za ovo. "AutoWidth" omogućava "Text" objektu da menja svoju širinu tako da svi redovi naprave prostor bez deljenja reči. Ovaj režim je koristan kada objekat ima jedan red teksta i kada rast udesno neće uticati na druge objekte. "Stretch" svojstvo omogućava visini objekta da raste kako bi se prilagodio tekstu bez promene širine objekta. "Stretch" ima nekoliko režima koji se mogu odabrati u inspektoru objekta:

smDontStretch – ne rastegati objekat (podrazumevano)

smActualHeight – rastegnuti objekat tako da napravi prostor za ceo tekst

smMaxHeight – rastegnuti objekat tako da njegova donja ivica dostigne dno trake u kojoj se nalazi - o ovom režimu ćemo govoriti kasnije

Ovde nas zanima "Stretch" svojstvo "Text" objekta. Omogućite ga koristeći kontekstni meni objekta ili postavljanjem "StretchMode" na smActualHeight. Takođe omogućite "Stretch" svojstvo trake. Pregledajte izveštaj i uverite se da je sve sada kako se očekuje.

Da bismo prebacili tekst u novi red, koristimo svojstvo "Word Wrap" koje mora biti omogućeno, što je već podrazumevana vrednost. Ovo svojstvo je značajno ako je omogućeno svojstvo "AutoWidth".  

Kao što možete videti, kada se konstruira izveštaj, FastReport popunjava objekte podacima i rasteže ih ako je "Stretch" omogućeno. Zatim izračunava visinu trake tako da svaki objekat ima dovoljno prostora. Ako je "Stretch" svojstvo trake onemogućeno, ova prilagodba visine se ne vrši i traka se prikazuje na visini postavljenoj u dizajnu. U ovom slučaju bismo videli da se objekti sa dužim tekstom i dalje rastežu, ali traka ne, što dovodi do preklapanja teksta, pošto se sledeća traka prikazuje odmah nakon prethodne.

Prelomi stranica

Kada se izveštaj kreira, FastReport motor popunjava beli prostor stranice trakama. Nakon prikazivanja svake trake, trenutna pozicija se pomera naniže. Kada FastReport otkrije da nema dovoljno belog prostora da prikaže sledeću traku (njena visina je veća od preostalog belog prostora na stranici), FastReport kreira novu stranicu i nastavlja sa prikazom trake odatle. Ova sekvenca se nastavlja onoliko puta koliko ima zapisa u skupu podataka.

Naš izveštaj sadrži objekat sa velikim tekstom, zbog čega je visina trake prilično velika. Štaviše, ako velika traka nema dovoljno mesta na stranici, pomera se na sledeću ostavljajući mnogo neiskorišćenog prostora na dnu stranice, kao što je ovde prikazano:

_img94

Da bismo ograničili rasipanje papira, hajde da koristimo funkciju FastReport-a koja pravi paragrafe iz sadržaja trake. Sve što treba da uradimo je da omogućimo "AllowSplit" svojstvo trake "Prvi nivo podataka". Videćete da sada ima manje belog prostora na dnu stranica izveštaja:

_img95

Kako funkcioniše ovo deljenje trake? Postoje neki objekti u FastReport-u koji podržavaju ovu funkciju. To su "Text", "Line" i "RichEdit" objekti. Oni mogu biti "podeljeni", dok drugi objekti ne mogu. Kada FastReport treba da podeli traku, to čini na sledeći način:

- prikazuje neodeljive objekte koji imaju prostora u belom prostoru

- delimično prikazuje deljive objekte ("Text" objekti se prikazuju na način da svi redovi imaju prostora u objektu)

- kreira novu stranicu i nastavlja sa prikazom objekata u traci

- ako neodeljivi objekat nema prostora u belom prostoru, pomera se na sledeću stranicu; u isto vreme svi objekti koji se nalaze ispod njega se pomeraju kako je potrebno

- proces se nastavlja dok se svi objekti trake potpuno ne prikažu.

Algoritam deljenja će postati jasniji gledajući ovaj primer:

_img96

Treba napomenuti da algoritam deljenja nije savršen i konačni izlaz možda neće biti baš onakav kakav se očekuje. Trebalo bi da koristite ovu opciju vrlo pažljivo u slučajevima kada su objekti na podeljenoj traci grupisani na komplikovan način, i/ili se njihove veličine fonta razlikuju. Evo primera onoga što bi moglo biti generisano:

clip0020

Pomera objekti

Pogledajmo različite režime pomeranja. U tu svrhu koristimo "ShiftMode" svojstvo. Pogledajmo 'smWhenOverlapped'​ režim pomeranja. U ovom režimu pomeranje objekta se dešava kada se objekat iznad rastegne i preklopi objekat ispod. Evo dva scenarija:

1: tri gornja objekta imaju "Stretch" omogućeno i tri donja objekta imaju "ShiftMode" postavljeno na 'smAlways'. Donji objekti se pomeraju samo dovoljno da omoguće prostor za rastegnuti objekat iznad:

_img115

2: tri gornja objekta imaju "Stretch" omogućeno i tri donja objekta imaju "ShiftMode" postavljeno na 'smWhenOverlapped'. Donji objekti se pomeraju da omoguće prostor za rastegnuti objekat i takođe da održe dizajniranu separaciju između dva objekta:

_img116

To omogućava kreiranje komplikovanih izveštaja, posebno kada objekat može preklapati nekoliko drugih objekata iznad njega u isto vreme. U primeru ispod svi gornji objekti sadrže rastegljivi tekst, a svi donji su u 'smWhenOverlapped' režimu. Donji objekti će uvek biti prikazani blizu objekta iznad, bez obzira na dužinu teksta u objektima iznad:

_img117



Oceni ovu temu
Da li je ova tema korisna?
Komentari
Komentari će biti vidljivi i na forumu!