vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
[VS2010] Reportviewer und Subreport 
Autor: ike
Datum: 15.10.10 00:07

Guten Abend,

nachdem ich mich mittlerweile von allen möglichen Lösungen verabschiedet habe (s. auch hier http://www.vbarchiv.net/forum/id24_i15185t15185_reportviewer-und-linq-to-dataset.html), bin ich jetzt bei einem Subreport gelandet.

Erreichen möchte ich Folgendes:
[ID1]
[Titel1]
[Anleitung1]
[Variante1.1]
[Variante1.2]
[Variante1.3]
-----
[ID2]
[Titel2]
[Anleitung2]
[Variante2.1]
[Variante2.2]

Ich habe zwei Linq-Abfragen - bei der für den Subreport dachte ich, dass ich die ID aus dem Hauptreport als Parameter übergebe und diesen dann in dem SubreportProcessing-Event auslesen kann.

Aber ich schaffe es nicht, diese ID zu übergeben
Die Fehlermeldung im ReportViewer beim Anzeigen:
Fehler bei der lokalen Berichtsverarbeitung. Der Wert darf nicht NULL sein. Parametername: value.

Wo muss ich noch drehen?

Vielen Dank
Ingrid


Hier ist mein Code - im Load-Ereignis des Formulars, auf dem der Reportviewer sitzt
        Dim Uebungen = From u In mDatenXML...<Uebung>
                       Select ID = u.@ID.ToString,
                       Titel = u.<Inhalt>.<Titel>.Value,
                       Anleitung = u.<Inhalt>.<Anleitung>.Value
 
        With ReportDataSourceUebungen
            .Name = "Uebung"
            .Value = Uebungen.ToList
        End With
 
        Me.Controls.Add(ReportViewer1)
        With ReportViewer1
            .Dock = DockStyle.Fill
            LocalReport1 = .LocalReport
            With LocalReport1
                '.SetParameters(New ReportParameter("ID","=fields!ID.value"))   
                ' -->> das gibt einen Fehler
                .DataSources.Add(ReportDataSourceUebungen)
                .ReportEmbeddedResource = "WindowsApplication1.Report1.rdlc"
                .DisplayName = "xxxx"
                .LoadSubreportDefinition("Report2",New StreamReader( _
                  "xxxx\Report2.rdlc"))
                .ShowDetailedSubreportMessages = True
            End With
 
            AddHandler LocalReport1.SubreportProcessing, AddressOf _
              LocalReport1_SubreportProcessing
 
            .RefreshReport()
        End With
Und das SubreportProcessing-Event.
Wenn ich in der Sub einen Haltepunkte setze, dann hat es erst einmal geklappt, dass die Code-Ausführung gestoppt hat - zu dem Zeitpunkt war der Parameter.value = nothing

  Private Sub LocalReport1_SubreportProcessing(ByVal sender As Object, ByVal e _
    As Microsoft.Reporting.WinForms.SubreportProcessingEventArgs) Handles _
    LocalReport1.SubreportProcessing
        Dim Varianten = From v In mDatenXML...<Variante>
            Where v.Ancestors.Ancestors.Ancestors.Ancestors.@ID.ToString = _
              e.Parameters("ID").Values(0).ToString
            Select ID = v.Ancestors.Ancestors.Ancestors.Ancestors.@ID, Variante _
            = v.Value
 
        With ReportDataSourceVarianten
            .Name = "Varianten"
            .Value = Varianten.ToList
        End With
 
 
        e.DataSources.Add(ReportDataSourceVarianten)
 
End Sub
Im Hauptreport.rdlc hab ich bei dem Subreport einen Parameter hinzugefügt "=Fields!ID.value"
Im XML sieht das so aus:

                      <Subreport Name="Report2">
                          <ReportName>Report2</ReportName>
                          <Parameters>
                            <Parameter Name="ID">
                              <Value>=Fields!ID.Value</Value>
                            </Parameter>
                          </Parameters>
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
[VS2010] Reportviewer und Subreport5.265ike15.10.10 00:07
Re: [VS2010] Reportviewer und Subreport3.361ike15.10.10 22:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel