Agregate
Întreținerea condiționată
Există o posibilitate de a schimba aspectul obiectului "Text" în funcție de condițiile date. De exemplu, un obiect poate fi evidențiat cu culoarea roșie dacă are o valoare negativă. Această caracteristică se numește "întreținere condiționată". Pentru a o configura, selectați obiectul "Text" și faceți clic pe
butonul de pe bara de instrumente "Text". Veți vedea următoarea fereastră de dialog:

Este posibil să definiți una sau mai multe condiții și să configurați stilul pentru fiecare condiție. Stilul poate conține una sau mai multe setări:
- cadru
- umplere
- font
- vizibilitatea obiectului
Pentru a crea o nouă condiție, faceți clic pe butonul "Adaugă". Veți vedea un editor de expresii. Aici, este posibil să scrieți orice expresie care returnează un rezultat boolean. În multe cazuri, veți folosi variabila "Valoare", care conține valoarea care se tipărește în prezent.
Puteți indica ce setări trebuie să fie schimbate atunci când condiția este îndeplinită. Pentru aceasta, bifați setarea necesară folosind caseta de selectare.
Să ne uităm la următorul exemplu: avem un obiect "Text", în care tipărim cantitatea de produse în stoc:
[Produse."UnitățiÎnStoc"]
Vrem să colorăm obiectul în roșu, dacă cantitatea de produse = 0. Pentru aceasta, creăm următoarea condiție:
Valoare = 0
În cazul dat, am folosit variabila "Valoare", care are o valoare tipărită. Dacă există mai multe expresii într-un obiect, atunci această variabilă va avea valoarea ultimei expresii. În loc de "Valoare", puteți folosi o coloană de date:
<Produse."UnitățiÎnStoc"> = 0
Configurați stilul pentru condiția dată astfel încât să poată fi folosită doar umplerea și alegeți culoarea roșie:

Când se tipărește un obiect care are o valoare zero, acesta va fi roșu. Să facem exemplul nostru mai complex, vom adăuga o altă condiție. Dacă unitățile în stoc sunt mai puțin de 10, trebuie să fie tipărite în galben. Pentru a face acest lucru, deschideți editorul de condiții și faceți clic pe butonul "Adaugă". A doua condiție va fi astfel:
Valoare < 10
În cazul în care au fost indicate mai multe condiții, FastReport verifică toate condițiile, începând de la prima. Dacă o anumită condiție este îndeplinită, FastReport aplică setările sale de stil obiectului, iar procesul se oprește. Este important să puneți condițiile într-o ordine corectă. Ordinea pe care am văzut-o în acest exemplu este corectă:
1. Valoare = 0
2. Valoare < 10
Dacă schimbăm condițiile, atunci evidențierea va funcționa greșit.
1. Valoare < 10
2. Valoare = 0
În cazul dat, "Valoare = 0" nu va fi executat, deoarece când valoarea este zero, atunci prima condiție va fi îndeplinită. Pentru a schimba ordinea condițiilor, folosiți
și
butonul.
Colorarea rândurilor de date alternative
Folosind evidențierea condiționată, este ușor să creați rapoarte cu un aspect "bandat", unde liniile de date sunt colorate alternativ. Pentru a economisi efort, să folosim exemplul "Lista clienților" pe care l-am proiectat anterior.
Eliminați toate obiectele "Text" din banda "MasterData". Plasați un obiect "Text" pe banda de date și întindeți-l pentru a acoperi aproape tot spațiul benzii:

Acest obiect își va schimba culoarea în funcție de numărul liniei de date. Selectați obiectul și setați următoarea expresie condițională în tab-ul Evidențiere al editorului de obiecte:
<Linie> mod 2 = 1
Selectați o nuanță de gri ca culoare pentru evidențiere, o culoare nu prea saturată, dar mai aproape de alb. Acum celelalte obiecte pot fi adăugate pe banda de date deasupra primului obiect "Text" gol:

În previzualizare, raportul produce această ieșire:
