0

Kannst du mir meinen Code ansehen und mich wissen lassen, was ich vermisse oder was ich falsch mache?SSRS-Bericht, der von ReportViewer-Steuerelement aufgerufen wird, zeigt keine Daten im Bericht an, wenn er mit einem Parameter aufgerufen wird

Ich habe einen SSRS-Bericht, der von einem ReportViewer-Steuerelement aufgerufen wird, und der ProcessingMode für dieses Steuerelement ist Remote. Der Bericht enthält auch 1 Parameter in seinem DataSet.

Im Code habe ich eine MsgBox platziert, um sicherzustellen, dass der Code den Parameter findet und den Parameternamen zurückgibt. Ich versuche, den Wert von 10 in den Parameter für PlayerID 10 zu halten. Daten für diesen Player existieren.

Ich glaube, ich muss etwas mehr Code hinzufügen, um dies zu tun, aber ich bin mir nicht sicher, was ich noch hinzufügen soll.

Wenn der Code ausgeführt wird, wird der Bericht angezeigt, aber keine Daten werden im Bericht angezeigt. Hier

ist die Codierung:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Dim paramList As Generic.List(Of ReportParameter) = New Generic.List(Of ReportParameter)() 

    With Me.ReportViewer1 
     .ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Remote 

     With .ServerReport 
      Dim pinfo As ReportParameterInfoCollection = .GetParameters() 

      For Each p As ReportParameterInfo In pinfo 
       MsgBox(p.Name) 
       paramList.Add(New ReportParameter(p.Name, 10)) 
      Next 

      If paramList.Count > 0 Then 
       .SetParameters(paramList) 
      End If 
     End With 

     .ShowParameterPrompts = False 
    End With 
End Sub 

Antwort

1

eine Lösung gefunden, obwohl es dauerte eine Weile, um es zu finden.

Diese Zeilen Code erhalten sie arbeiten:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 

    Dim rpParameters = New Microsoft.Reporting.WinForms.ReportParameter 

    rpParameters.Name = "PlayerID" 
    rpParameters.Values.Add(10) 

    Me.ReportViewer1.ShowParameterPrompts = False 
    Me.ReportViewer1.ServerReport.SetParameters(rpParameters) 
    Me.ReportViewer1.RefreshReport() 
End Sub