AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FastReport - Felder per Script hinzufügen

Ein Thema von fillibuster · begonnen am 18. Feb 2014 · letzter Beitrag vom 18. Feb 2014
Antwort Antwort
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#1

FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 09:00
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
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 09:03
Während der Report bereits läuft oder vorher?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#3

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 09:20
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 ....
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 09:28
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:
var frxMemo: TfrxMemoView;
begin
  frxMemo := TfrxMemoView.Create(ReportTitle1);
  frxMemo.Text := 'Hallo Welt';
  frxMemo.left := 10;
  frxMemo.top := 40;
  frxMemo.width := 200;
  frxMemo.height := 30;
Die Position musst du halt entsprechend festlegen, ggf. die anderen Memos verkleinern und verschieben.. Im grunde also wie in Delphi....


Edit: Das ganze halt im OnBevorPrint vom Report...
  Mit Zitat antworten Zitat
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#5

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 09:42
Hi,

wenn ich ein Datenfeld ansprechen will, muss ich dann noch irgendwie das Dataset zuweisen? So will das nicht:
Delphi-Quellcode:
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;
Viele Grüße ...

// edit: habe gerade bemerkt, dass das Feld mit normalem Text auch nicht auf dem Datenband ausgegeben wird

Geändert von fillibuster (18. Feb 2014 um 09:54 Uhr)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 10:14


ist es echt so schwer 5 Zeilen Code zu kopieren?? (Ok 6 Zeilen )

Delphi-Quellcode:
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;
funktioniert bei mir wunderbar... Den Unterschied zu deinem Code darfst Du selbst suchen
  Mit Zitat antworten Zitat
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#7

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 10:35
Hallo Lemmy,

also der folgende Code funktioniert in dem Event ReportOnReport print auch nicht:
Delphi-Quellcode:
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.
Wenn ich ihn aber direkt zwischen begin und end. setze ist alles gut. Da war der Fehler. Danke
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 10:44
sorry vertippt... OnBeforPrint der Page! da sollte das funktionieren!
  Mit Zitat antworten Zitat
fillibuster

Registriert seit: 3. Nov 2010
Ort: Coesfeld
245 Beiträge
 
Delphi 2010 Professional
 
#9

AW: FastReport - Felder per Script hinzufügen

  Alt 18. Feb 2014, 10:47
jau klappt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz