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