Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Tabellen im Quickreport? (https://www.delphipraxis.net/112479-tabellen-im-quickreport.html)

Privateer3000 22. Apr 2008 07:31


Tabellen im Quickreport?
 
Hallöchen,

gibt für Quickreport die Möglichkeit
Inhalte tabellarisch darzustellen?
Mit Memo ist das ja nur bedingt möglich...

v2afrank 22. Apr 2008 12:45

Re: Tabellen im Quickreport?
 
Ja, gibt es. Dazu brauchst Du ein rbColumnHeader Band, und ein Detailband.
Im Onneeddata des Reports, kannst Du dann die Daten des Detailbandes einstellen und festlegen, ob noch mehr Daten gedruckt werden.
Im Beforeprint setzt Du einen internen Zähler auf 1. Das ganze könnte dann so aussehen:
Delphi-Quellcode:
procedure TDruckform.EreignisreportBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
  printreport := true;
  EreignisZaehler := 1;

end;


procedure TDruckform.Ereignisreport2NeedData(Sender: TObject;
  var MoreData: Boolean);
begin
  if EreignisZaehler = 1 then
    Ereignisreport2.NewColumn;

   QRLabel448.caption := DeinText;

  moredata := EreignisZaehler <= GeraeteEreignis.AnzahlEreignisse;
  inc(Ereignis2Zaehler);
end;

Privateer3000 22. Apr 2008 14:20

Re: Tabellen im Quickreport?
 
Danke
das ist ein guter Ansatz.
In der OH von Delphi gibts kaum Beschreibungen
zu den einzelnen QRkomponenten.
Übergangsweise hab ich das so gelöst
dass ich 3 schmale memos nebeneinander
gesetzt habe :-)

Beforeprint gehört zum TQuickReport?!
Oder zum Band?

funktioniert das mit dem Headerband
auch mit Schleife?
zB.aus einer sql-abfrage

while not tabelle.eof ..
schreibe...
end;

Privateer3000 22. Apr 2008 15:16

Re: Tabellen im Quickreport?
 
Ich habs begriffen :-)
mein onneeddata:
Delphi-Quellcode:
if ergz = 1 then
    bonrep.NewColumn;

   spa1.caption := Form1.elist.Cells[1,ergz];
   spa2.Caption := Form1.elist.Cells[2,ergz];
   spa3.Caption := Form1.elist.Cells[5,ergz];

  moredata := ergz <= Form1.elist.RowCount;
  inc(ergz);
end;
sieht jetzt so aus.
Nun gibts es in dem Report auch einen Header und Footer, sowie ein summary.
Diese werden nun für jedes row im Grid mit gedruckt.
Wo genau setzt man hier an?

v2afrank 23. Apr 2008 06:14

Re: Tabellen im Quickreport?
 
Tut mir leid, da muss ich passen. Ich habe es bisher immer ohne summary gemacht.
Wenn Du es findest, wäre es aber schön wenn Du es hier postest

Privateer3000 23. Apr 2008 07:28

Re: Tabellen im Quickreport?
 
auffällig ist , dass die Zeilen aus dem Grid
immer in ein neues Page gedruckt werden
und nicht hintereinander auf eine Page.
Selbst der Versuch 3 Reports auf eine Form zu machen
brachte nix, wobei ich die Idee von Anfang an
nicht für gut hielt, hab ich es probiert.
Nun sieht der Report so aus:
Report->Headerband->rbColumnHeaderband->Detailband->Footerband.
Ich weiß nicht wo was eingestellt werden muss
das die Daten aus onneeddata auf eine Page geschrieben werden.
Statt jedesmal eine neue Seite zu drucken....

Privateer3000 23. Apr 2008 14:06

Re: Tabellen im Quickreport?
 
Also ich hab es fertiggestellt,
es muss halt nur die Reihenfolge der Bands
eingehalten werden.
Header->Columheader->Detailband->Footer
Das Detailband sollte nicht größer sein
als die Labels hoch sind, da der Rest als Leerzeilen
gedruckt wird.
Die Größe des Reports (Page length) dann neu einstellen:
Pagelength=length+(Ereigniszaehler*Labelhöhe)
Dadurch wird nur ein kleiner Streifen gedruckt
wenn nur wenig Daten da sind, und nicht die volle
Länge des Report mit vielen freien Zeilen.

Ansonst würde ich den Thread als gelöst bezeichnen.

Dank an dich für die Anregung

v2afrank 24. Apr 2008 05:58

Re: Tabellen im Quickreport?
 
Danke auch für die Erklätung.
Ich werde es mir merken, wenn ich so etwas auch mal habe


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:07 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