Fragensteller
Meldung, wenn Report gedruckt wurde

Frage
-
Hallo liebe Gemeinde,
ich stehe vielleicht gerade auf dem Schlauch, komme aber wirklich nicht weiter. Ich habe eine Form mit einem ReportViewer drauf. Es ist ein Bericht hinterlegt, der auch absolut korrekt angezeigt wird. Ich kann den Bericht auch drucken, funktioniert auch wunderbar. Ich möchte aber dieses Fenster schließen, sobald der Bericht gedruckt wurde. Gibt es da ein Event, an dem ich das festmachen kann? Ich kann es einfach nicht finden... Habt Ihr da eine Idee? Tausend Dank im Voraus für Eure Hilfe!
Gruß
Marcus
Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt...
Alle Antworten
-
Ein solches Ereignis kann nur durch den Bediener ausgelöst werden, indem er die gedruckten Blätter aus dem Drucker nimmt, durchzählt, auf sauberen und vollständigen Druck prüft und dann dem System den erfolgreichen Abschluss des Drucks bestätigt oder für fehlende oder schlecht gedruckte Seiten den Druckauftrag wiederholt. Für den ReportViewer ist mit dem Absenden des Druckauftrages der Vorgang abgeschlossen. Danach steht der Druckauftrag in der Warteschlange zum Drucker. Die meisten billigen Drucker übernehmen dann den Druckauftrag in ihren internen Speicher und geben den Druckauftrag frei noch bevor der Druck abgeschlossen ist. Papierstau oder fehlender Toner bzw. Druckfarbe werden bei diesen Druckern meist nicht dem System gemeldet.--
Viele Gruesse
Peter -
Hallo Peter,
ich begreife Deine Antwort jetzt mal als ein Appell, mich besser auszudrücken ;-). Ich verwende ja die ReportViewerControl, um meinen Report anzuzeigen. Diese Control hat eine interne Leiste, bei der man allerlei fertige Funktionen vorfindet, u. a. kann man den Report auch drucken. Nach Klick auf das Druckersymbol öffnet sich der Standard-PrintDialog, mit dem man den eigentlichen Druck anstößt. Ich möchte nun, wenn der Benutzer dann auf Drucken klickt, die Form mit dem ReportViewer schließen. Und es muss doch ein Event für das DruckenButton klicken geben?! In diesem Event wollte ich das Schließen des Fensters verarbeiten... Aber genau dieses Event kann ich nicht finden, denn es muss ja irgendwo in diesem internen PrintDialog sein, oder? Ich hoffe, ich habe mich jetzt verständlicher ausgedrückt :-).
Solltet Ihr eine Idee haben, würde ich mich sehr über Eure Hilfe freuen! Tausend Dank im Voraus!
Gruß
Marcus
Der erste Tag, an dem ich nichts Neues lerne, wird der Tag sein, an dem sich der Deckel über mir schließt... -
Hallo Marcus,
packe deine Anweisung ans Ende deiner Druckroutine.
Druckroutinen können ja, bzw. sind in der Regel recht umfangreich.
Mehreistendruck, Origialdarstellung ...
Aber irgendwann ist deine Routiene mal fertig und da würd ich den Code hinpacken.
Falls das zeitlich nicht hinhaut, also die Vorschau zu früh geschlossen wird, kannst du es ja programmtechnisch hinauszögern.Z.B. mit Regex die Zeilen zählen und dann einen Verzögerungsfaktor berechnen ( Zeilen x 50) also 50 ms pro Zeile. Nur so eine Idee weil sich sonst niemand mehr zu dem Thema gemeldet hat.
Liebe Grüße Stefan | Cheers Stefan I'm using VB 2008 Express Be a good forum member - mark posts that contain the answers to your questions or those that are helpful c# in vb Translator: http://www.developerfusion.com/tools/convert/csharp-to-vb/