Погледнете ги упатствата за PANTHEON™

 Категории
 Главна страна - Добре дојдовте во помош за PANTHEON
[Collapse]PANTHEON
 [Collapse]PANTHEON упатства
  [Expand]Водич за PANTHEON Farming
  [Collapse]Водич за Datalab PANTHEON™
   [Expand]Помош
   [Expand]ПОС
   [Collapse]Подесувања
    [Expand]Партнери
    [Expand]Иденти
    [Expand]Производство
    [Expand]ПОС
    [Expand]Вработени
     Календар
    [Expand]Сметководство
    [Expand]Царина
    [Collapse]Програм
     [Expand]Програма за доверба
     [Expand]Видови документи
     [Collapse]Облици на испис
       Поставки во Администраторска конзола
       Изоз на испис
       Узоз на испис
       Кратенка за испис
      [Expand]Облици на испис
       Клонирање исписи и менување тип на исписи
       Преглед на испис
      [Expand]Користење SQLEXP израз во исписи
      [Expand]Дизајнер на извештаи
      [Expand]Пораки поврзани со исписи
      [Collapse]Создавање Извештаи
        Извештај Објекти
        "Здраво, Свету!" Извештај Пример
        Основна работа со објекти
        Објектот "Текст"
        Прикажување Изрази со Помош на "Текст" Објектот
        Групи
        "Список на предмети" Извештај: Псевдоними и Променливи
        "Слика" Објект
        Истегнување на објекти, прекини на страници и поместување на објекти
        Прикажување податоци во форма на табела
        Печатење на етикети
        Детски бендови
        Извештај со Два Нивоа на Податоци (Мајстор-Детал)
        Заглавија и Подножја на Податочен Појас
        Мулти-страничен извештај
      [Expand]Групи и Агрегати
      [Expand]Креирање исписи
      [Expand]Форматирање и Истакнување
       Вгнездени Извештаи (Подизвештаи)
      [Expand]Спецификации на печатите во ПАНТЕОН
      [Expand]Скрипт
       Разглед на дизајн на извештајот
      Текстови на документи
      Начин на достава
     [Expand]АРЕС
     [Expand]Администраторска конзола
     [Expand]Картички за доверба
      Ад-хок анализа
     [Expand]Тековен корисник
     [Expand]Елементи на контролна табла
      Извештаи на контролна табла
      SQL уредувач
    [Expand]Документација
   [Expand]Нарачки
   [Expand]Материјално
   [Expand]Производство
   [Expand]Сервис
   [Expand]ПОС
   [Expand]Финансии
   [Expand]Кадри
   [Expand]Работна површина
   [Expand]Анализи
    Додатно
   [Expand]Аналитика
   [Expand]Пораки и предупредувања
   [Expand]Системско окружување за Даталаб програми
   [Expand]Официјални објаснувања
    Речник на термини
   [Expand]Дополнителни програми
   [Expand]Застарени производи
  [Expand]Водич за PANTHEON Ретал
  [Expand]Водич за PANTHEON Вет
 [Expand]PANTHEON кориснички прирачници
[Expand]PANTHEON Web
[Expand]PANTHEON Гранула
[Expand]Кориснички сервер

Load Time: 921,8775 ms
print   |
Label

Објекти за истегнување

Објекти за истегнување

Да разгледаме случај кога имаме текст со повеќе редови со различна должина. Објектот "Текст" кој ја прикажува информацијата од ова поле има фиксна големина. Затоа некои редови изгледаат како да се исечени. Што може да се направи во врска со ова?

clip0155

Секако, или големината на објектот може да се зголеми или големината на фонтот може да се намали. Сепак, ова може да доведе до губење на просторот на излезната страница бидејќи некои риби имаат долги описи, додека други имаат кратки. FastReport има некои својства кои ни овозможуваат да го решиме овој проблем.

Овие својства му дозволуваат на бендот или објектот автоматски да ја прилагоди својата висина за да создаде потребен простор за даден запис (ред). За да го постигнеме ова, само треба да ја овозможиме својството “Stretch” на бендот и на објектот “Текст”. Сепак, тоа не е сосема сè, бидејќи објектот “Текст” со подолг текст треба да може да се истегне сам, па ќе треба да ги поставиме и некои од неговите други својства.

Објектот “Текст” може автоматски да ја постави својата висина и ширина за да направи простор за неговото содржина. “AutoWidth” и “StretchMode” можат да се користат за ова. “AutoWidth” му овозможува на објектот “Текст” да ја варира својата ширина така што сите редови да направат простор без да ги разделат зборовите. Овој режим е корисен кога објектот има еден единствен ред текст и кога растот на десно нема да влијае на другите објекти. Својството “Stretch” му овозможува на објектот да расте во висина за да го смести текстот без да ја менува ширината на објектот. "Stretch" има неколку режими кои можат да се изберат во инспекторот на објектот:

smDontStretch – не го истегнувајте објектот (стандартно)

smActualHeight – истегнете го објектот така што да направи простор за целиот текст

smMaxHeight – истегнете го објектот така што неговото дно да стигне до дното на бендот во кој е поставен - ќе погледнеме во овој режим подоцна

Тука нè интересира својството “Stretch” на објектот “Текст”. Овозможете го користејќи го контекст менито на објектот или поставувајќи "StretchMode" на smActualHeight. Исто така, овозможете го својството “Stretch” на бендот. Прегледајте го извештајот и уверете се дека сè е сега како што се очекува.

За да преливаме текст во нов ред, користиме својството "Word Wrap" кое мора да биде овозможено, што веќе е стандардна вредност. Ова својство е значајно ако е овозможено својството "AutoWidth".  

Како што можете да видите, кога се конструира извештајот, FastReport ги пополнува објектите со податоци и ги истегнува ако “Stretch” е овозможен. Потоа ја пресметува висината на бендот така што секој објект има доволно простор. Ако својството “Stretch” на бендот е онеможено, оваа прилагодување на висината не се извршува и бендот се прикажува на висината поставена во дизајнот. Во овој случај ќе видиме дека објектите со подолг текст сè уште ќе бидат истегнати, но бендот не, што доведува до преклопување на текстот, бидејќи следниот бенд се прикажува веднаш по претходниот.

Прекини на страницата

Кога се создава извештај, FastReport моторот го пополнува белото место на страницата со бендовите. По прикажувањето на секој бенд, тековната позиција се поместува надолу. Кога FastReport наоѓа дека нема доволно бело место останато за да го прикаже следниот бенд (неговата висина е поголема од белото место останато на страницата), FastReport создава нова страница и продолжува со прикажувањето на бендот од таму. Оваа секвенца продолжува колку што има записи во податоците.

Нашиот извештај содржи објект со голем текст, поради што висината на бендот е доста голема. Понатаму, ако големиот бенд нема доволно место на страницата, тој се поместува на следната, оставајќи многу непотрошен простор на дното на страницата, како што е прикажано тука:

_img94

За да го ограничиме губењето на хартија, да користиме функција на FastReport која прави параграфи од содржината на бендот. Сè што треба да направиме е да ја овозможиме својството “AllowSplit” на бендот “Прв ниво податоци”. Ќе видите дека сега има помалку бело место на дното на страниците на извештајот:

_img95

Како функционира оваа поделба на бендот? Има некои објекти во FastReport кои ја поддржуваат оваа функција. Тие се објектите “Текст”, “Линија” и “RichEdit”. Тие можат да бидат “поделени”, додека другите објекти не можат. Кога FastReport треба да го подели бендот, тоа го прави на следниов начин:

- прикажува ги неподеливите објекти кои имаат простор во белото место

- делумно ги прикажува поделивите објекти (“Текст” објектите се прикажуваат на начин што сите редови имаат простор во објектот)

- создава нова страница и продолжува со прикажувањето на објектите во бендот

- ако неподеливиот објект нема простор во белото место, тој се поместува на следната страница; во исто време сите објекти лоцирани под него се поместуваат како што е потребно

- процесот продолжува додека сите објектите на бендот не бидат целосно прикажани.

Алгоритмот за поделба ќе стане појасен ако погледнеме на овој пример:

_img96

Треба да се напомене дека алгоритмот за поделба не е совршен и конечниот излез можеби не е сосема како што се очекува. Треба да ја користите оваа опција многу внимателно во случаи кога објектите на поделениот бенд се групирани на комплициран начин, и/или нивните големини на фонтот се разликуваат. Еве еден пример за тоа што може да биде генерирано:

clip0020

Преместување на објекти

Да погледнеме на различните режими на преместување. За оваа цел користиме својството “ShiftMode”. Да погледнеме на 'smWhenOverlapped'​ режимот на преместување. Во овој режим, преместувањето на објектот се случува кога објектот над него се истегнува и преклопува со објектот под него. Еве два сценарија:

1: трите горни објекти имаат овозможено “Stretch” и трите долни објекти имаат поставено “ShiftMode” на 'smAlways'. Долните објекти се преместуваат само доволно за да дозволат простор за истегнатиот објект над него:

_img115

2: трите горни објекти имаат овозможено “Stretch” и трите долни објекти имаат поставено “ShiftMode” на 'smWhenOverlapped'. Долните објекти се преместуваат за да дозволат простор за истегнатиот објект и исто така за да ја одржат дизајнираната разделба на двата објекти:

_img116

Ова овозможува создавање на комплицирани извештаи, особено каде што објектот може да преклопи неколку други објекти над него во исто време. Во примерот подолу, сите горни објекти содржат истеглив текст и сите долни се во режим 'smWhenOverlapped'. Долните објекти секогаш ќе бидат прикажани блиску до објектот над нив, без оглед на должината на текстот во објектите над нив:

_img117



Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!