myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » [gelöst] Wie kann ich aus dem Code heraus eine PrintDialog für einen RDLC-Report anzeigen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[gelöst] Wie kann ich aus dem Code heraus eine PrintDialog für einen RDLC-Report anzeigen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Suspekta
myCSharp.de-Mitglied

Dabei seit: 24.08.2020
Beiträge: 12
Entwicklungsumgebung: Visual Studio


Suspekta ist offline

[gelöst] Wie kann ich aus dem Code heraus eine PrintDialog für einen RDLC-Report anzeigen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo Forum,

gibt es eine Möglichkeit aus dem Code heraus eine PrintDialog für einen RDLC-Report anzuzeigen?

Ich habe einen Report in einem ReportViewer (BerichtViewer) der wird auch normal angezeigt also bis hier her alles gut. Ich kann den Report auch als PDF-Datei aus dem Code heraus exportieren auch das funktioniert.

Nur wenn ich nach dem PDF-Export den PrintDialog aufrufe kommt die Meldung:

Fehlermeldung:
System.InvalidOperationException: "Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig."

hier der Code:

C#-Code:
  public static void Einfach_Drucken(DataTable table, string berichtdatei, Form parentform, bool mit_pdf, string pdf_name)
        {
            ReportDataSource dts = new ReportDataSource();
            dts.Name = "DataSet1";
            dts.Value = table;

            BerichtViewer rv_form = new BerichtViewer();
            rv_form.MdiParent = parentform;
            rv_form.Dock = DockStyle.Fill;
            rv_form.RV_Berichte.ProcessingMode = ProcessingMode.Local;
            rv_form.RV_Berichte.LocalReport.DataSources.Add(dts);
            rv_form.RV_Berichte.LocalReport.ReportPath = @".\Reports\" + berichtdatei;


            //Erzeugen einer PDF-Datei
            if (mit_pdf == true)
            {
                byte[] Bytes = rv_form.RV_Berichte.LocalReport.Render(format: "PDF", deviceInfo: "");

                using (FileStream stream = new FileStream(pdf_name, FileMode.Create))
                {
                    stream.Write(Bytes, 0, Bytes.Length);
                }
            }

            rv_form.RV_Berichte.RefreshReport();

            rv_form.RV_Berichte.PrintDialog();

        }

Ich wäre für Hilfe sehr dankbar...

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Suspekta am 23.09.2020 14:53.

23.09.2020 13:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 14.280
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

IIRC wenn Du nach der Exception (vor allem der englischen) suchst, dann solltest Du eigentlich recht schnell den Hinweis bekommen, dass Du den Dialog zur falschen Zeit / zu früh aufrufst.
Der Dialog steht erst zu Verfügung, wenn das Rendern fertig ist; dafür gibt es eben den RenderingComplete Event.

Das beachtet Dein Code überhaupt nicht.
23.09.2020 13:55 Beiträge des Benutzers | zu Buddylist hinzufügen
Suspekta
myCSharp.de-Mitglied

Dabei seit: 24.08.2020
Beiträge: 12
Entwicklungsumgebung: Visual Studio

Themenstarter Thema begonnen von Suspekta

Suspekta ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Ahhhh ... danke für den Hinweis!
Jetzt klappt alles
Danke
23.09.2020 14:22 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum
Antwort erstellen


© Copyright 2003-2020 myCSharp.de-Team | Impressum | Datenschutz | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 21.10.2020 18:52