[Lazarus] lazreport: how to use global report variables
Graeme Geldenhuys
mailinglists at geldenhuys.co.uk
Tue Jun 30 15:03:19 CEST 2015
Hi,
I have a print dialog, shown before the report is generated. The user
can make some selections. Based on that, I want to set the value of a
global variable, then use that variable to decide if a column of data
must be visible or not.
I've used File -> Variable List to define a new variable (just the name).
I then double clicked on a header memo field and enabled the Script
checkbox, and typed in the following code in the Script box:
===================================
if [ HideKlas] = '0' then
Visible := True
else
Visible := False;
===================================
In my *.pas unit I temporarily tried to set a hard-coded value of the
"HideKlas" variable to see what happens in the report. I tried both the
values '0' and '1'.
===================================
If FRPrint.PrepareReport then
begin
FRPrint.Variables.Values['HideKlas'] := '1'; // for testing only
FRPrint.Preview := FAfdrukForm.PrintPanel;
FRPrint.ShowPreparedReport;
end;
===================================
No matter what I do, the header (memo) field is now _always hidden_.
Changing the hard-coded value of the variable doesn't seem to make any
difference.
Before any of the above script changes the report worked, and the header
text was visible. But I can't seem to make that visibility a dynamic option.
Any tips would be much appreciated.
Regards,
- Graeme -
--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/
More information about the Lazarus
mailing list