0

VSS reportviewer を使用してレポートを作成しました。このレポートには、1 つのパラメーター (ユーザー名) があります。

Printユーザーがアイコンをクリックしてレポートを印刷すると、ログインしたユーザー名に基づいて、そのユーザーに属するレコードのみが印刷用に表示されるという考え方です。

ハードコードされた値で .rdlc をテストしたところ、正常に動作しました。

このレポートを .net アプリに統合しようとすると、次のエラーが発生します。

Value cannot be null. Parameter name: reportParameters

このエラーは次の行にあります。

ReportViewer1.LocalReport.SetParameters(params)

関連データは以下です。

    Protected Sub btnUser_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnUser.Click
        which.Value = "U"
        Call Run_Report("")
    End Sub

Sub Run_Report(ByVal sel As String)
    ReportViewer1.Reset()
    ReportViewer1.LocalReport.DataSources.Clear()
    Dim params(0) As ReportParameter

    Select Case which.Value
        Case "U"
            ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("MyReporttSet", ObjectDataSource1.ID))
            ReportViewer1.LocalReport.ReportPath = "MyReport.rdlc"
            ReportViewer1.LocalReport.Refresh()
            ReportViewer1.LocalReport.SetParameters(params)
    End Select
End Sub

これを修正する方法についてのアイデアはありますか?

よろしくお願いします。

4

2 に答える 2

0
If Not String.IsNullOrEmpty(ddlcust.SelectedValue) Then
    param(0) = New SqlParameter("@custnam", ddlcust.SelectedValue)
Else
    param(0) = New SqlParameter("@custnam", DBNull.Value)
End If
于 2013-09-17T03:22:47.690 に答える