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:
Fehler |
System.InvalidOperationException: "Der Vorgang ist aufgrund des aktuellen Zustands des Objekts ungültig." |
hier der 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...