none
Dynamischer DataTable an LocalReport binden RRS feed

  • Frage

  • Hallo Team,

    ich habe einen in meinem Projekt einen Bericht namens Fertigteilekarte erzeugt. Der Bericht enthält lediglich 6 Felder: Artikelnummer, Matchcode, Bezeichnung2, Menge, Charge und Barcode.

    Nun möchte ich mit folgendem Aufruf den Bericht durcken:

           
    Dim report As New LocalReport
            Dim table As New DataTable
            Dim row As DataRow
    
            'Tabelle für den Report erzeugen
            Dim col1 As New DataColumn("Artikelnummer", System.Type.GetType("System.String"))
            Dim col2 As New DataColumn("Matchcode", System.Type.GetType("System.String"))
            Dim col3 As New DataColumn("Bezeichnung2", System.Type.GetType("System.String"))
            Dim col4 As New DataColumn("Menge", System.Type.GetType("System.String"))
            Dim col5 As New DataColumn("Charge", System.Type.GetType("System.String"))
            Dim col6 As New DataColumn("Barcode", System.Type.GetType("System.String"))
    
            'Spalten in der Tabelle erstellen
            table.Columns.Add(col1)
            table.Columns.Add(col2)
            table.Columns.Add(col3)
            table.Columns.Add(col4)
            table.Columns.Add(col5)
            table.Columns.Add(col6)
    
            'Zeilen an Tabelle anfügen
            row = table.NewRow
            row("Artikelnummer") = "00007625"
            row("Matchcode") = "Hallo das ist der Matchcode"
            row("Bezeichnung2") = "Bezeichnung 222"
            row("Menge") = "123"
            row("Charge") = "CHARGE xxx"
            row("Barcode") = "*123*"
    
            table.Rows.Add(row)
            report.DataSources.Add(New ReportDataSource("Fertigteilekarte", table))
    
            report.ReportPath = "..\..\Fertigteilekarte.rdlc"
    
            'Druck aufrufen
            winhelper.druckReport(report)

    Unter winhelper.druckReport bin ich dem Beispiel von Microsoft gefolgt:

    http://msdn.microsoft.com/en-us/library/ms252091.aspx

    und übergebe den Report an die Funktion.

    Wenn ich nun im Bericht ein Feld mit =Fields!Artikelnummer.Value bringt VS2008 schon einen Fehler vor dem Kompilieren.

    Wie muss ich nun den Bericht designen, dass er die Tabelle als Datasource ausdruckt? Oder kann ich die Felder während der Laufzeit füllen?

    Über eine Antwort würde ich mich freuen.

    S. Schmidt


    • Bearbeitet ITSAM77 Donnerstag, 30. August 2012 13:39
    Mittwoch, 29. August 2012 19:57

Antworten

  • Hallo,

    ich habe das Probem gefunden.

    Der Name der im Code angegebenen Datenquelle 'Fertigteilekarte' stimmte nicht mit dem Namen der im Menü unter Bericht -> Datenquellen... angegeben war, überein.

    S. Schmidt
    Donnerstag, 30. August 2012 13:38