![]() |
FastReport Textfeld.visible = False
Hallo zusammen
Ich steh grad aufm Schlauch. kann mir mal wer sagen wie man zur Laufzeit in einem FastReport eine Textkomponente auf Visible = False setzt ? Fröhlichen Nikolaus wünscht Andre |
Re: FastReport Textfeld.visible = False
Hallo,
das ist nicht besonders schwierig, man muss nur die Scriptsprache (Code im Report) verwenden. Beispiel (Pascal Script):
Delphi-Quellcode:
Hier werden Childbänder ausgeblendet, wenn jeweils nichts zu Anzeigen da ist. Genauso kann man es mit einzelnen Memofeldern usw. machen.
procedure Footer1OnBeforePrint(Sender: TfrxComponent);
begin If <MwSt1> = 0 then begin child3.visible:=false; end; If <MwSt2>=0 then begin child4.visible:=false; end; If <MwSt3>=0 then begin child5.visible:=false; end; end; Gruß [edit=MrSpock]Code Tags eingefügt. Mfg, MrSpock[/edit] |
Re: FastReport Textfeld.visible = False
Falls Du den FastReport von ausserhalb (also vom Delphi-Code aus) steuern willst, kannst Du FindObject benutzen.
Ich verwende es so (bei FastReport 4):
Delphi-Quellcode:
for i := 0 to FrxStandardReport.PagesCount - 1 do
begin if FrxStandardReport.Pages[i].Name = 'Page1' then begin if FrxStandardReport.Pages[i].FindObject('IB_Database') <> nil then begin TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Connected := False; TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Clear; TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['Path'] := Engine.DataBasePath; TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['USER NAME'] := Engine.DataBaseUser; TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['Password'] := Engine.DataBasePassword; TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['PROTOCOL'] := DBProtocol; // IBProtocolNames [Engine.DatabaseProtocol]; TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['SERVER'] := Engine.DataBaseServer; TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Connected := True; end else begin MessageDlg('Datenbank-Komponente "IB_Database" nicht gefunden', mtError, [mbOK], 0); end; end; end; |
Re: FastReport Textfeld.visible = False
An Mr Spock:
Das ist kein Delphi-Quellcode, sondern Pascalscript von Fastreports. Die Markierung als Delphi-Code könnte zu Fehlinterpretationen führen. Gruß Neumann |
Re: FastReport Textfeld.visible = False
OK...Danke
die Tipps haben geholfen. Gruß Andre |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz