Delphi-PRAXiS
Seite 2 von 2     12   

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

ConstantGardener 15. Apr 2007 17:45

Re: Quickreport ohne Datenbank
 
Hallo alefor19,

in NeedData würde ich einen Zähler mitlaufen lassen und vergleichen ob er die Anzahl der Items im ListView erreicht hat. Wenn nicht dann Moredata:=true. Also etwa so.

Delphi-Quellcode:

procedure TQuickReport2.QuickRepBeforePrint (Sender: TObject);
begin
 z:=0;
end;

procedure TQuickReport2.QuickRepNeedData(Sender: TObject; var MoreData: Boolean);
begin
 Moredata:=z<Form1.ListView1.items.count;
 inc (z);
end;

procedure TQuickReport2.QRLabel12Print(sender: TObject; var Value: String);
begin
 Value:=Form1.ListView1.Column[z];
end;
...hab ich jetzt eben im Board zusammengeschrieben, sollte aber in etwa funktionieren. Das ganze geht natürlich auch sehr gut um damit Stringgrids, Stringlisten usw. auszudrucken. Der Anwender bekommt einen einheitliche GUI (Vorschau usw.) für alle Reports. Egal ob direkt aus der Datenbank oder aus Berechnungen usw.

omata 15. Apr 2007 18:02

Re: Quickreport ohne Datenbank
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo alefor19,

schau dir mal das QRStringBand an.

Und im Anhang auch mal ein Beispiel...

Gruss
Thorsten

ConstantGardener 15. Apr 2007 18:15

Re: Quickreport ohne Datenbank
 
Hallo allefor19,

ich hatte dich da scheinbar etwas falsch verstanden. Du musst für jede Column ein QRLabel benutzen und dort dann die Items-Werte einfügen.

Delphi-Quellcode:
procedure TQuickReport2.QuickRepBeforePrint (Sender: TObject);
begin
 z:=0;
end;

procedure TQuickReport2.QuickRepNeedData(Sender: TObject; var MoreData: Boolean);
begin
 Moredata:=z<Form1.ListView1.items.count;
 inc (z);
end;

procedure TQuickReport2.QRLabel12Print(sender: TObject; var Value: String);
begin
 Value:=Form1.ListView1.Items.Item[z].caption;
end;
... :wall: sorry mit ListView hab ichs nicht so. VALUE ist vom Typ String, deshalb muß noch CAPTION hinter das ITEMS.ITEM[z].

alefor19 15. Apr 2007 18:19

Re: Quickreport ohne Datenbank
 
Hab ich jetzt mal so gemacht erst mal für eine Column aber er zeigt mir bei
Delphi-Quellcode:
Value:=Form1.Listview1.Column[z];
einen Fehler an
Zitat:

[Fehler] Unit2.pas(72): Inkompatible Typen: 'String' und 'TListColumn'
und das versteh ich jetzt nicht...


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:06 Uhr.
Seite 2 von 2     12   

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