"Evenimentul "OnAfterData"
"Evenimentul "OnAfterData"
Acest eveniment este triggerat după ce un obiect raport a fost completat cu datele din sursa la care este conectat. Folosiți acest eveniment pentru a accesa fie o valoare a unui câmp din baza de date, fie o expresie conținută în obiect. Această valoare este plasată în variabila de sistem “Value” care este disponibilă doar în acest eveniment. Așadar, dacă două obiecte “Text” conțin expresiile [Table1.“Field1”] și [<Table2.“Field1”> + 10], valorile acestor expresii pot fi utilizate referindu-se la variabila “Value” pentru obiecte:
if Value > 3000 then
Memo1.Color := clRed
care este mai simplu decât a scrie ceva de genul:
if <Table1."Field1"> > 3000 then
Memo1.Color := clRed
Folosind “Value” în loc de o expresie vă permite să scrieți un handler multifuncțional pentru evenimentul “OnAfterData” care poate fi conectat la mai multe obiecte.
Vă rugăm să rețineți ceva - dacă un obiect conține mai multe expresii (de exemplu '[expr1] [expr2]') este valoarea ultimei expresii care este transferată în variabila “Value”.
Evenimentul “OnAfterData” este ideal pentru calcularea înălțimii și lățimii obiectelor precum “Text”. Adică, dacă înălțimea exactă a unui obiect “Text” întins care conține o expresie este necesară într-un script, puteți folosi acest cod în evenimentul “OnAfterData”:
var
MemoHeight: Extended;
begin
MemoHeight := TfrxMemoView(Sender).CalcHeight;
end;
Dacă acest cod ar fi folosit în evenimentul “OnBeforePrint”, rezultatul va fi înălțimea obiectului care conține expresia înainte ca expresia să fie evaluată, și nu valoarea sa actuală la imprimare.