![]() |
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:
Weiss jemand was ich da ändern muss, um die ganze DBGrid auszudrucken?
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; |
Re: DBGrid ausdrucken
Da wäre eine Reportingtool besser geeignet (FreeReport, QuickReport, Rave o.ä.).
|
Re: DBGrid ausdrucken
Zitat:
![]() Funktioniert ja auch einigermassen, nur dass das rechte Stück, das man nach dem Scrollen sieht, fehlt. |
Re: DBGrid ausdrucken
Mit Deiner Methode kannst Du nur das drucken, was Du auch zur Laufzeit siehst.
|
Re: DBGrid ausdrucken
FreeReport ist genauso wie
![]() |
Re: DBGrid ausdrucken
Zitat:
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; |
Re: DBGrid ausdrucken
FreeReport ist eine freie (kostenlose) Version des FastReports und Report Manager ist sogar OS!
|
Re: DBGrid ausdrucken
Zitat:
ich versteh aber noch nicht, wie das funktioniert. Erstmal testen 8) |
Re: DBGrid ausdrucken
Funktioniert leider nicht
Mit Turbo Delphi kann man keine Komponenten einbinden , nur mit der kostenpflichtigen Version. hier stehts ![]() |
Re: DBGrid ausdrucken
Aber man kann diese manuell erstellen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:55 Uhr. |
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 by Thomas Breitkreuz