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 Grupperierung im Quickreport ohne Datenbank (https://www.delphipraxis.net/12730-grupperierung-im-quickreport-ohne-datenbank.html)

Delphi4me 3. Dez 2003 10:16


Grupperierung im Quickreport ohne Datenbank
 
[df]
Hallo,
ich nutze den QuickReport um Druckausgaben zu realisieren.
Die Daten kommen nicht aus einer Datenbank sondern werden
manuell ermittelt und zugewiesen. (OnNeedData..., OnPrint usw.)

Ist es möglich im Report Gruppierungen vorzunehmen.
Ich finde keine Möglichkeit, die TQRGroup Komponente entsprechend
zu konfigurieren.
Geht das evtl. über die QuickReport Functions. Wenn ja wie ?

Vielen Dank
für alle Hinweise
Delphi4me

Delphi4me 5. Dez 2003 07:49

Re: Grupperierung im Quickreport ohne Datenbank
 
Ich habe jetzt die Lösung selbst gefunden und möchte sie hier kurz
zeigen, da ich weder irgendwo einen Hinweis gefunden noch die
entsprechenden Funktionen erklärt gefunden habe.

Vorgehensweise:
1) QuickReport wie gewohnt mit TQRGroup aufbauen
2) Bei der Eigenschaft Functions der QuickReport Komponente eine
Funktion definieren (z.B. GROUPKOPF)
3) Bei der Eigenschaft Expression der TQRGroup Komponent die Funktion
(hier GROUPKOPF) eintragen
Immer wenn sich der Wert der Funktion ändert wird ein Gruppenwechsel durchgeführt.
Die Datenmenge muss allerdings nach dem zu gruppierenden Feld sortiert sein

Hier ein Codebeispiel
Delphi-Quellcode:
procedure TQRPersGroup.QuickRepNeedData(Sender: TObject; var MoreData: Boolean);
  var
    lResult : TQREvResult;
begin
  moredata := ...; // Muss noch eine weitere Zeile gedruckt werden
  inc(Zeile); // zeilenzähler

  lResult := QRPersGroup.Functions.Value('GROUPKOPF'); // aktuellen Werte ermitteln
  lResult.strResult := ...; // neuen Wert ermitteln
  QRPersGroup.Functions.UpdateConstant('GROUPKOPF',lFunc); // Funktionswert setzen
  QRPersGroup.Functions.Prepare; // Refresh der Funktionen
end;
fröhliches Programmieren
Delphi4me

Delphi4me 5. Dez 2003 07:53

Re: Grupperierung im Quickreport ohne Datenbank
 
Im Codebeispiel oben hat sich ein Fehler eingeschlichen

Delphi-Quellcode:
...
QRPersGroup.Functions.UpdateConstant('GROUPKOPF',lResult);
...


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