0

您能看看我的編碼並讓我知道我錯過了什麼或錯誤嗎?通過ReportViewer控件調用的SSRS報告在用參數調用時在報告中不顯示數據

我有一個從ReportViewer控件調用的SSRS報告,此控件的ProcessingMode是Remote。該報告在其DataSet中也有1個參數。

在代碼中,我放置了一個MsgBox以確保代碼找到參數並返回參數名稱。我試圖將10的值粘貼到playerID 10的參數中。該播放器的數據確實存在。

我相信我需要添加一些更多的代碼來使這項工作,但我不知道還有什麼補充。

當代碼執行時,顯示報告但報告中不顯示數據。

這裏是編碼:

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 

回答

1

找到了解決辦法,雖然花了一段時間來找到它。

這些代碼行會得到它的工作:

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