Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DBGrid ausdrucken (https://www.delphipraxis.net/120155-dbgrid-ausdrucken.html)

Thomas F 6. Sep 2008 09:24

Datenbank: MyBase • Version: ?? • Zugriff über: TClientdataset

DBGrid ausdrucken
 
Hallo,

ich möchte gerne meine DBGrid ausdrucken, das klappt mit diesem Code auch relativ gut.

Problem ist nur, dass rechts beim Ausdrucken ein kleines Stück von der DBGrid fehlt,

nämlich genau das Stück , das man nur sieht wenn man nach rechts scrollt.

Auf dem Ausdruckt ist praktisch nur der auf dem Bildschirm sichtbare Teil der DBGrid zu sehen

Delphi-Quellcode:
procedure TForm1.Drucken1Click(Sender: TObject);
var rect,rect1: TRect;
begin
   rect:=bounds(0,0,DBGrid1.clientwidth,DBgrid1.Clientheight);
   rect1:=bounds(10,10,Printer.PageHeight,Printer.PageWidth);


if printdialog1.Execute then
begin

printer.begindoc;
printer.canvas.CopyRect(rect1,dbgrid1.Canvas,rect);
printer.enddoc;

end;
end;
Weiss jemand was ich da ändern muss, um die ganze DBGrid auszudrucken?

DeddyH 6. Sep 2008 09:28

Re: DBGrid ausdrucken
 
Da wäre eine Reportingtool besser geeignet (FreeReport, QuickReport, Rave o.ä.).

Thomas F 6. Sep 2008 09:32

Re: DBGrid ausdrucken
 
Zitat:

Zitat von DeddyH
Da wäre eine Reportingtool besser geeignet (FreeReport, QuickkReport, Rave o.ä.).

Die hab ich aber doch nicht, hab ich hier schon geschrieben :(

http://www.delphipraxis.net/internal...t.php?t=141757

Funktioniert ja auch einigermassen, nur dass das rechte Stück,

das man nach dem Scrollen sieht, fehlt.

DeddyH 6. Sep 2008 09:36

Re: DBGrid ausdrucken
 
Mit Deiner Methode kannst Du nur das drucken, was Du auch zur Laufzeit siehst.

mkinzler 6. Sep 2008 09:37

Re: DBGrid ausdrucken
 
FreeReport ist genauso wie http://reportman.sourceforge.net/ frei verfügbar

Thomas F 6. Sep 2008 12:54

Re: DBGrid ausdrucken
 
Zitat:

Zitat von mkinzler
FreeReport ist genauso wie http://reportman.sourceforge.net/ frei verfügbar

Aber nur die Demo-Versionen ! :?

Man kann auch alle Felder einzeln auslesen und dann aufs Papier bringen,

ist zwar umständlich , aber es funktioniert. :cry:

Delphi-Quellcode:

procedure TForm1.Drucken1Click(Sender: TObject);

begin
if printdialog1.Execute then
begin

printer.begindoc;
Printer.Canvas.Font.Height:=80;
Printer.Canvas.TextOut(300,300,Clientdataset1.FieldValues['Feld1']);
Printer.Canvas.TextOut(1000,300,Clientdataset1.FieldValues['Feld2']);
.
.
.
printer.enddoc;
end;

mkinzler 6. Sep 2008 12:56

Re: DBGrid ausdrucken
 
FreeReport ist eine freie (kostenlose) Version des FastReports und Report Manager ist sogar OS!

Thomas F 6. Sep 2008 13:02

Re: DBGrid ausdrucken
 
Zitat:

Zitat von mkinzler
FreeReport ist eine freie (kostenlose) Version des FastReports und Report Manager ist sogar OS!

ich hab mir den Report Manager gerade runtergeladen,
ich versteh aber noch nicht, wie das funktioniert.

Erstmal testen 8)

Thomas F 6. Sep 2008 13:44

Re: DBGrid ausdrucken
 
Funktioniert leider nicht

Mit Turbo Delphi kann man keine Komponenten einbinden ,

nur mit der kostenpflichtigen Version.

hier stehts http://www.delphi-treff.de/backstage.../turbo-delphi/

mkinzler 6. Sep 2008 13:50

Re: DBGrid ausdrucken
 
Aber man kann diese manuell erstellen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:56 Uhr.
Seite 1 von 3  1 23      

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