Quick Report drucken?
-
habt ihr euch schon mal
OnNeedData
angesehen?
bei dem ereignis kann man auf nicht datenbankbasierte Druckausgaben reagieren
und solange MoreData==true ist wird eine neue "zeile" angefangen
-
Label->Left = 100; Label->Top = 40;
-
Also ich hab die Schleife jetzt mal testweise so gelöst:
Ich leg mir also auf meinem QuickRep1 zur Laufzeit ein "Band" an, auf jedes Band leg ich ein paar Labels...
Dann folgt das nächste Band usw.Hier mal der Code:
void TVerwaltung::drucken(void) { for (int Zeile = 0;Zeile < Form1->StringGrid1->RowCount;Zeile++) { TQRBand *Band = new TQRBand(Form2->QuickRep1); for (int Spalte = 0;Spalte < Form1->StringGrid1->ColCount;Spalte++) { TQRLabel *lbl = new TQRLabel(Band); lbl->Parent = Band; lbl->Caption = "hallo"; //lbl->Left=100; //lbl->Top=20; } } Form2->QuickRep1->Print(); //Form2->Show(); }wenn ich jetzt drucken will, erscheint zwar kurz eine Meldung "Drucken" aber dann passiert nichts mehr...
Das Programm läuft aber ganz normal weiter...
-
Hallo
natuerlich kann mann ein Stringgrid (strings) ueber QuickRep drucken)
->QRStringsBandMfG
Klaus
-
Wie funktioniert das mit dem QRStringsBand so ganz grob?
Finde in der Hilfe nichts dazu...
Hat mir irgendjemand mal nen guten Link wo ich mich damit vertraut machen kann?
-
Hallo
schau in die Hilfe des BCB
da gibt es ein Beispiel - wenn auch etwas ....MfG
Klaus
-
ok, aber was mach ich falsch, dass er mir auf dem QuickRep, wenn ich mir den ausdrucken oder mit preview anschauen will, garnichts anzeigt.
Irgedwas ist da doch schon falsch.
//Edit
Könnte mir mal jemand ein Beispiel schreiben, mit dem ich die Daten aus einem StrinGrid durch einen QuickReport ausgeben (ausdrucken) kann...
Ich glaub dann würd ich das verstehen...
Wäre echt super!!Oder mir sagen was an meinem Code falsch ist...

Danke!!!

-
tribblexer schrieb:
Könnte mir mal jemand ein Beispiel schreiben, mit dem ich die Daten aus einem StrinGrid durch einen QuickReport ausgeben (ausdrucken) kann...
Das macht aber doch gar keinen Sinn... QuickReport läßt sich m.E. nur sinnvoll mit Datenbanken einsetzen. Robert hat das ja schon gesagt...
Es ist einfacher, die Daten in eine (temporäre) Tabelle zu schreiben und diese für den QR zu verwenden. Auch das hat Robert bereits angeregt.
-
Ich hab es jetzt mal mit dem QRStringsBand versucht.
Funktioniert auch ganz gut!
Hab mich an das Beispiel im BCB gehalten...hier mal der Code:
void TVerwaltung::drucken(void) { Form2->QRStringsBand1->Items = Form1->StringGrid1->Cols[1]; Form2->QRExpr1->Width = Form2->QRStringsBand1->Width; Form2->QuickRep1->PrinterSetup(); if (Form2->QuickRep1->Tag != 1) { Form2->QuickRep1->Preview(); } }Aber wie kann ich jetzt mehrere Spalten nebeneinander bekommen?
-
und was müsste man schreiben wenn man eine Datenbank benutzt?