Report aus Form erstellen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    Report aus Form erstellen

    Hallo,

    ich bin recht neu in der VB-Programmierung, daher entschuldige ich mich schon mal vorab für fehlende Fachbegriffe bei der nun folgenden Beschreibung meines Problems:

    Ich habe ein recht simples Programm zusammengebaut, indem man über mehrere TabPages in Text- und Comboboxen Daten einträgt, die dann in der letzten TabPage berechnet und geordnet als Labels wieder erscheinen. Ich möchte die angezeigten Werte dieser letzten TabPage als PDF speichern und drucken. Dazu habe ich es zunächst mit PDFSharp probiert - funktioniert tadellos, bis auf die Zeilenumbrüche - damit kommt PDFSahrp nicht klar. Also die Idee über den ReportViewer zu gehen.

    Ich habe bereits einiges ausprobiert, komme aber nicht zu dem gewünschten Ergebnis.
    Ziel ist es, ohne Datenbank die angezeigten Labels aus der TabPage im Reportviewer anzuzeigen.

    Nach diesem Youtube-Tutorial gelingt mir das! Aber leider nur mit einem Label. Füge ich ein weiteres hinzu, bleibt der Report leer.

    Hier im Forum habe ich einen Beitrag gefunden, der ein ähnliches Vorhaben beschreibt. Leider hat der Autor seine Problemlösung nicht zu ende verfolgt.

    Ich habe folgenden Code geschrieben, der mit einem Label funktioniert, aber bei zwei Labels nicht mehr:

    VB.NET-Quellcode

    1. mports Microsoft.Reporting.WinForms
    2. Public Class Form3
    3. Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    4. Dim Parameter_Bewertungsbogen As New ReportParameter("Bewertungsbogen", Form1.LBL_bewertungsbogen.Text) ReportViewer1.LocalReport.SetParameters(Parameter_Bewertungsbogen)
    5. Dim Parameter_ArtDerArbeit As New ReportParameter("ArtDerArbeit", Form1.LBL_Auswertung_ArtDerArbeit.Text) ReportViewer1.LocalReport.SetParameters(Parameter_ArtDerArbeit)
    6. Dim Parameter_ImFach As New ReportParameter("imFach", Form1.LBL_imFach.Text) ReportViewer1.LocalReport.SetParameters(Parameter_ImFach)
    7. Dim Parameter_Fach As New ReportParameter("Fach", Form1.LBL_Auswertung_Fach.Text) ReportViewer1.LocalReport.SetParameters(Parameter_Fach)
    8. Dim Parameter_TitelDerArbeit As New ReportParameter("TitelDerArbeit", Form1.LBL_Auswertung_TitelDerArbeit.Text) ReportViewer1.LocalReport.SetParameters(Parameter_TitelDerArbeit)
    9. Dim Parameter_ThemaDerArbeit As New ReportParameter("ThemaDerArbeit", Form1.LBL_Auswertung_ThemaDerArbeit.Text) ReportViewer1.LocalReport.SetParameters(Parameter_ThemaDerArbeit)
    10. Dim Parameter_Vom As New ReportParameter("Vom", Form1.LBL_vomDatumDerArbeit.Text) ReportViewer1.LocalReport.SetParameters(Parameter_Vom)
    11. Me.ReportViewer1.RefreshReport() End SubEnd Class


    Über Hilfe würde ich mich sehr freuen!
    Vielen Dank im Voraus und liebe Grüße

    Proktor schrieb:

    VB.NET-Quellcode

    1. Form1.LBL_bewertungsbogen.Text
    Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Proktor schrieb:

    hilft mir nicht wirklich weiter
    Nicht bei diesem speziellen Problem, wohl aber beim OO-Programmieren überhaupt.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    Proktor schrieb:

    Ich habe folgenden Code geschrieben, der mit einem Label funktioniert, aber bei zwei Labels nicht mehr:

    Wenn ich raten darf wird nur Parameter_Vom als dein zuletzt erstellter Parameter übergeben...
    Versuche die Parameterübergabe in einem Rutsch so:

    VB.NET-Quellcode

    1. With Me.ReportViewer1
    2. .Reset()
    3. .LocalReport.ReportEmbeddedResource = "DeinProjekt.DeinBericht.rdlc"
    4. .LocalReport.SetParameters(New ReportParameter() {Parameter_Bewertungsbogen, ... , Parameter_Vom}) ' Parameterübergabe
    5. .RefreshReport()
    6. End With