Entwickler-Ecke

Datenbanken - DBGrid drucken


sunday_2 - Mi 20.11.02 11:21
Titel: DBGrid drucken
Hi Leute,

ich möchte gern ein DBGrid drucken.

Quelltext
1:
2:
3:
4:
application.CreateForm(TSpielerdaten_drucken,Spielerdaten_drucken);
           Spielerdaten_drucken.QRMemo1.Lines.Assign(RichEdit1.Lines);
           Spielerdaten_drucken.QuickRep1.preview;
           Spielerdaten_drucken.Release;

Leider weiß ich nicht wie ich die Daten des DBGrid-Feldes in das QRMemo bekomme.
Muß wohl an die Stelle wo jetzt (RichEdit1.Lines); steht.
Wäre für hilfe echt dankbar.


DataCool - Mi 20.11.02 12:35

So wie Du das vor hast geht das nicht !

Du mußt innerhalb des Reports mit einer Query oder mit einem TTable einen DataSource öffnen.
Dann setzt Du einen DetailBand auf den Report und innerhalb des Bands plazierst Du für jede Spalte eine QRDBText-Komponente weist den DataSource und das DataField zu.

Und das müßte es eigentlich im großen und ganzen gewesen sein !


sunday_2 - Mi 20.11.02 14:22

Funktioniert soweit ganz gut. Leider wird immer nur ein Datensatz gedruckt. Mein Code sieht wie folgt aus:

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
application.CreateForm(TSpielerdaten_drucken,Spielerdaten_drucken);
            if b_sort_name.Down = true then
            Spielerdaten_drucken.Query1.SQL.Text := 'select * from spielerdaten order by Name'
           else
           Spielerdaten_drucken.Query1.SQL.Text := 'select * from spielerdaten order by Mannschaft';
           Spielerdaten_drucken.Query1.Active:=true;
           Spielerdaten_drucken.QuickRep1.preview;
           Spielerdaten_drucken.Release;

Wo könnte der Fehler liegen. (Außer 40 cm vorm Bildschirm) :?


DataCool - Mi 20.11.02 14:26

Du hast bestimmt keinen Detail-Band genommen, denn nur der wiederholt dich pro Datensatz


DataCool - Mi 20.11.02 14:28

Es gibt eine Property Band-Type oder Bandstyle mußt mal nachsehen


sunday_2 - Mi 20.11.02 14:35

Wo find ich den das Detail-Band. Ich nutze Delphi 6 und es stimmt, ich habe ein QRBand genommen.
Hierbei habe ich jetzt BandType auf rbDetail gestellt. Klappt aber auch nicht.


DataCool - Mi 20.11.02 14:39

Das sollte jetzt aber funzen !! :?

Welcher Datensatz wird den angezeigt der erste oder letzte ?


sunday_2 - Mi 20.11.02 14:43

Der Erste!


DataCool - Mi 20.11.02 14:48

Ich weiss jetzt gerade auch nicht voran das liegen könnte, aber setz nocheinmal ein Titel-Band auf den Report und teste das ganze nocheinmal mit dem Type SubDetail.

Probieren geht über studieren


sunday_2 - Mi 20.11.02 14:57

Mit SubDetail funktioniert es :D

Aber noch eine kleine Frage: :oops:

Wie bekomme ich gegebenfalls Trennlinien zwischen den Spalten?


DataCool - Mi 20.11.02 15:02

Trennlinien bekommst Du indem Du QRShape verwendest mit TopandBottomLine.

Was meinst Du mit Überschrift ? Spaltentitel ? DAnn mußt Du nocheinen Band vom Typ Columnheader hinzufügen und normale Labels einfügen.


sunday_2 - Mi 20.11.02 15:14

Hab vielen Dank

:P