![]() |
Re: Fastreport Objekt in abhängikeit von DB Feld
So sollte es überprüfbar sein
Delphi-Quellcode:
if list.IndexOf('Persons') > -1 then //Feld vorhanden
|
Re: Fastreport Objekt in abhängikeit von DB Feld
Das wars!! Danke mkinzler :thumb:
Delphi-Quellcode:
Shalom
procedure DefaultPERSONSOnBeforePrint(Sender: TfrxComponent);
var i: Integer; ds: TfrxDataSet; list: TStringList; db_list: String; begin ds := Report.GetDataset('default');// username of ds list := TStringList.Create; ds.GetFieldList(list); for i := 0 to list.Count - 1 do begin if list.IndexOf('Persons') > -1 then //Feld vorhanden DefaultPERSONS.Visible := true; ds.Next; end; end; Manfred |
Re: Fastreport Objekt in abhängikeit von DB Feld
Die For-Schleife ist aber auch noch unnötig
|
Re: Fastreport Objekt in abhängikeit von DB Feld
Hallo
versuche einmal den Code wie folgt zu erweitern:
Delphi-Quellcode:
[edit=mkinzler]Delphi-Tag eingefügt Mfg, mkinzler[/edit]
for i := 0 to list.Count - 1 do
begin if ds.Value[list[i]]<>NULL then begin db_list := ds.Value[list[i]]; // get field value by its name if db_list = 'PERSONS' then DefaultPERSONS.Visible := true; end; ds.Next; end; |
Re: Fastreport Objekt in abhängikeit von DB Feld
@rbi: Du scheinst weder die Frage noch den Verlauf richtig gelesen zu haben
|
Re: Fastreport Objekt in abhängikeit von DB Feld
Danke nochmals. :dp:
hier nochmals ohne for Schlaufe:
Delphi-Quellcode:
Danke :cheer:
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
var i: Integer; ds: TfrxDataSet; list: TStringList; db_list: String; begin ds := Report.GetDataset('default');// username of ds list := TStringList.Create; ds.GetFieldList(list); begin if list.IndexOf('PERSONS') > -1 then //Feld vorhanden DefaultPERSONS.Visible := true; if list.IndexOf('WORKER') > -1 then //Feld vorhanden DefaultWORKER.Visible := true; if list.IndexOf('PLACEMENT') > -1 then //Feld vorhanden DefaultPLACEMENT.Visible := true; if list.IndexOf('BEDS') > -1 then //Feld vorhanden DefaultBEDS.Visible := true; if list.IndexOf('Q_GIDEONS') > -1 then //Feld vorhanden DefaultQ_GIDEONS.Visible := true; if list.IndexOf('CAT') > -1 then //Feld vorhanden DefaultCAT.Visible := true; ds.Next; end; end; Manfred |
Re: Fastreport Objekt in abhängikeit von DB Feld
Dah <TStringList>.IndexOf() intern eine Schleife verwendet könnte man evaluieren, das Ganze iinerhalb einer Schleife zu machen:
Delphi-Quellcode:
PersonsVorhanden := False;
... for i := 0 to list.Count -1 do begin if list[i] = 'PERSONS' then PersonsVorhanden := True;//Feld vorhanden ... end; DefaultPERSONS.Visible := PersonsVorhanden; ... |
Re: Fastreport Objekt in abhängikeit von DB Feld
Besteht ein Vorteile bei einer Variante?
Manfred |
Re: Fastreport Objekt in abhängikeit von DB Feld
Bei vielen Feldern könnte die erste etwas langsam sein, da bei jedem .IndexOf() eine intern eine Schleife durchlaufen wird
|
Re: Fastreport Objekt in abhängikeit von DB Feld
Danke für den Hiinweis :wink:
Delphi-Quellcode:
Shalom
procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
var i: Integer; ds: TfrxDataSet; list: TStringList; db_list: String; begin ds := Report.GetDataset('default');// username of ds list := TStringList.Create; ds.GetFieldList(list); for i := 0 to list.Count -1 do begin if list[i]='PERSONS' then DefaultPERSONS.Visible := true; //Feld vorhanden if list[i]='WORKER' then dist_worker.Visible := true; if list[i]='PLACEMENT' then DefaultPLACEMENT.Visible := true; if list[i]='BEDS' then DefaultBEDS.Visible := true; if list[i]='Q_GIDEONS' then DefaultQ_GIDEONS.Visible := true; if list[i]='CAT' then DefaultCAT.Visible := true; ds.Next; end; end; Manfred |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:21 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 by Thomas Breitkreuz