0

私のコーディングを見て、何が欠けているか、間違っているか教えてもらえますか?

ReportViewer コントロールから呼び出される SSRS レポートがあり、このコントロールの ProcessingMode は Remote です。レポートには、その DataSet に 1 つのパラメーターもあります。

コードに MsgBox を配置して、コードがパラメーターを見つけてパラメーター名を返すようにしました。playerID 10 のパラメータに値 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
4

1 に答える 1

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
于 2012-04-12T10:44:55.897 に答える