![]() |
FastReport - Felder per Script hinzufügen
Hallo,
für einen Report muss ich dynamisch Felder zu einem Databand hinzufügen - per Script. Kann mir jemand sagen, wie dass per Script funktioniert? Danke und beste Grüße |
AW: FastReport - Felder per Script hinzufügen
Während der Report bereits läuft oder vorher?
|
AW: FastReport - Felder per Script hinzufügen
Hi,
eigentlich während der Report läuft. Derzeit setze ich im Code (Pascalscript) auch Werte, aber da existieren die Felder schon. Nun möchte ich die Felder dynamisch erzeugen oder zumindest dynamisch auf den Bändern verteilen. Viele Grüße .... |
AW: FastReport - Felder per Script hinzufügen
Grundsätzlich kannst Du ja per
memoxx.text := '[[Feldname]]' den Inhalt eines Textmemos ändern, d.h. auch neue zusätzliche Felder hinzufügen, dann stehen die aber halt nicht zwingend wie bei einer Tabelle untereinander. Wenn Du das erreichen willst, dann ein TfrxMemo anlegen:
Delphi-Quellcode:
Die Position musst du halt entsprechend festlegen, ggf. die anderen Memos verkleinern und verschieben.. Im grunde also wie in Delphi....
var frxMemo: TfrxMemoView;
begin frxMemo := TfrxMemoView.Create(ReportTitle1); frxMemo.Text := 'Hallo Welt'; frxMemo.left := 10; frxMemo.top := 40; frxMemo.width := 200; frxMemo.height := 30; Edit: Das ganze halt im OnBevorPrint vom Report... |
AW: FastReport - Felder per Script hinzufügen
Hi,
wenn ich ein Datenfeld ansprechen will, muss ich dann noch irgendwie das Dataset zuweisen? So will das nicht:
Delphi-Quellcode:
Viele Grüße ...
procedure frxReportOnReportPrint(Sender: TfrxComponent);
var memoBaujahr : TfrxMemoView; begin memoBaujahr := TfrxMemoView.Create(Masterdata1); // Masterdata1 ist mit dem entsprechenden Dataset verbunden! memoBaujahr.Text := '[referenceDataset."Baujahr"]'; memoBaujahr.left := 10; memoBaujahr.top := 10; memoBaujahr.Width := 200; end; // edit: habe gerade bemerkt, dass das Feld mit normalem Text auch nicht auf dem Datenband ausgegeben wird :-( |
AW: FastReport - Felder per Script hinzufügen
:shock:
ist es echt so schwer 5 Zeilen Code zu kopieren?? (Ok 6 Zeilen ;-))
Delphi-Quellcode:
funktioniert bei mir wunderbar... Den Unterschied zu deinem Code darfst Du selbst suchen ;-)
var
memoBaujahr : TfrxMemoView; begin memoBaujahr := TfrxMemoView.Create(Masterdata1); // Masterdata1 ist mit dem entsprechenden Dataset verbunden! memoBaujahr.Text := '[frxUserDataSet1."Name"]'; memoBaujahr.left := 10; memoBaujahr.top := 10; memoBaujahr.Width := 200; memoBaujahr.Height := 20; memoBaujahr := TfrxMemoView.Create(Masterdata1); // Masterdata1 ist mit dem entsprechenden Dataset verbunden! memoBaujahr.DataSet := memo1.Dataset; memoBaujahr.DataField := 'Vorname'; memoBaujahr.left := 210; memoBaujahr.top := 10; memoBaujahr.Width := 200; memoBaujahr.Height := 20; |
AW: FastReport - Felder per Script hinzufügen
Hallo Lemmy,
also der folgende Code funktioniert in dem Event ReportOnReport print auch nicht:
Delphi-Quellcode:
Wenn ich ihn aber direkt zwischen begin und end. setze ist alles gut. Da war der Fehler. Danke :thumb:
procedure frxReportOnReportPrint(Sender: TfrxComponent);
var memoBaujahr : TfrxMemoView; begin memoBaujahr := TfrxMemoView.Create(Masterdata1); // Masterdata1 ist mit dem entsprechenden Dataset verbunden! memoBaujahr.Text := '[referenceDataset."Baujahr"]'; memoBaujahr.left := 10; memoBaujahr.top := 10; memoBaujahr.Width := 200; memoBaujahr.Height := 20; memoBaujahr := TfrxMemoView.Create(Masterdata1); // Masterdata1 ist mit dem entsprechenden Dataset verbunden! memoBaujahr.DataSet := Masterdata1.Dataset; memoBaujahr.DataField := 'Projektnummer'; memoBaujahr.left := 210; memoBaujahr.top := 10; memoBaujahr.Width := 200; memoBaujahr.Height := 20; end; begin end. |
AW: FastReport - Felder per Script hinzufügen
sorry vertippt... OnBeforPrint der Page! da sollte das funktionieren!
|
AW: FastReport - Felder per Script hinzufügen
jau klappt :thumb:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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