![]() |
Datenbank: FireBird • Zugriff über: IBO applications
Wie kann ich ein TIB_Grid drucken?
Guten Tag liebe DP User,
ich habe nun ca. 2 Stunden damit verbracht Google durchzusuchen ob irgendwo etwas steht wie man eine TIB_Grid drucken kann, aber war leider erfolglos bzw. es hatte mir nie weitergeholfen. Deswegen wende ich mich nun an euch... Ich würde gerne mein TIB_Grid ausrucken, doch leider hab ich keinen schimmer wie es gehen soll. Ich hatte schon von den RaveReport gehört, aber ich kam damit total nicht klar... :-( Desweiteren hatte ich versucht den Code umzuschreiben "...ein TStringGrid ausdrucken?", was aber leider auch gescheitert ist. Ich würde mich sehr freuen wenn ihr mir Helfen könntet. Vielen Dank im voraus! Mit freundlichen Grüßen |
Re: Wie kann ich ein TIB_Grid drucken?
Du hast zwei Möglichkeiten:
1) Das Form mit dem Grid drauf ausdrucken mit Form.Print 2) Du benutzt einen Report-Generator (z.B. FastReport) zum Drucken. Der FastReport kann auch direkt mit den TIB_Datasource und TIB_Query umgehen. |
Re: Wie kann ich ein TIB_Grid drucken?
Zitat:
Zu 1.: Das würde nicht gut sein, da er ja dann auch alle andere mit Druckt und ich brauch ja nur das Grid. Zu 2.: FastReport ist doch eine zusätzliche Komponete die ich mir runterladen müsste oder? (so weit ich da was bei Google gefunden habe) und diese kostet ja... |
Re: Wie kann ich ein TIB_Grid drucken?
Zitat:
FastReport ist eine "Fremdkomponente". Die kostet Geld und muss installiert werden. (ca. 249 $) FastReport ist aber meiner Meinung nach einer der besten und mächtigsten Report-Generatoren. Und vor allem kann er direkt an die TIB-Komponenten angebunden werden. |
Re: Wie kann ich ein TIB_Grid drucken?
Zitat:
Kann man es denn auch noch anders lösen? |
Re: Wie kann ich ein TIB_Grid drucken?
Hallo,
FastReport hat noch einen kleinen Bruder, FreeReport. Free, wie der Name schon sagt. Das einfachste wäre doch, aus dem TIB_Grid ein StringGrid zu bauen und dann den Code zum Drucken des StringGrids zu benutzen ?
Delphi-Quellcode:
Das GetRowCount musst du selber schreiben
var
iCol: Integer; iRow: Integer; StringGrid:= TStringGrid.Create(NIL); try StringGrid.ColCount:= DBGrid.DataSource.DataSet.FieldCount; StringGrid.RowCount:= GetRowCount+1; // +1 wegen der Überschrift DBGrid.DataSource.DataSet.DisableControls; try DBGrid.DataSource.DataSet.First; iRow:= 0; while not DBGrid.DataSource.DataSet.EOF do begin Inc(iRow); for iCol:= 0 to DBGrid.DataSource.DataSet.Fields.Count-1 do begin StringGrid.Cells[iCol,iRow]:= DBGrid.DataSource.DataSet.Fields[iCol]; end; DBGrid.DataSource.DataSet.Next; end; finally DBGrid.DataSource.DataSet.EnableControls; end; PrintStringGrid(StringGrid); finally StringGrid.Free; end; über eine Extra-Query mit Select Count(*) deiner eigentlichen Abfrage. Heiko PS: Der Code ist ungetest, den habe ich bloss mal so getippert. |
Re: Wie kann ich ein TIB_Grid drucken?
Du verwendest doch Delphi 7 (Enterprise). Dann kannst du Die QuickReports verwenden (in den Demo-Verzeichnissen $DELPHI\Demos\Quickrpt steht eine Anleitung, wie die In Delphi 7 installiert werden können) oder du verwendest das mitgelieferte RAVE-Reporting.
Welches von beiden du verwendest ist deine Sache... Grüße Mikhal |
Re: Wie kann ich ein TIB_Grid drucken?
Hallo,
mit Quickreport kann man aber kein Grid drucken, oder haben die das jetzt endlich mal drin ? Heiko |
Re: Wie kann ich ein TIB_Grid drucken?
Eine direkte Unterstützung für ein DBGrid gibt es nach wie vor nicht. Einem Grid liegt aber doch ein DataSet zu Grunde. Das kann man recht schnell zu einem Listendruck verwenden.
Grüße Mikhal |
Re: Wie kann ich ein TIB_Grid drucken?
Hallo,
hatte ich vor ner Weile(>5 Jahre) auch mal gemacht, es gab mal nen Stück Code dazu in der ToolBox (?). Problem war, der Ausdruck klappte meistens nur bei einem Drucker. Ich hatte damals mal nen HP3, da sah es gut aus, bei nem HP4 waren die berechneten Abstände, also die Breiten der Wörter zu klein. Es kam zum Überschreiben. Ein Krampf. Seit ich das mit Crystal Reports bzw. List&Label mache, habe ich keinen Ärger mehr. PS: Nein, es lag nicht an unterschiedlichen Auflösungen bei den Druckern, war immer 300 DPI. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:56 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