让 .rdlc 与数据集和报表查看器一起工作

getting .rdlc to work with dataset and report viewer

在过去的 2 天里,我一直在努力让这份报告发挥作用。我浏览了很多网站等等,但是我仍然无法让这份报告发挥作用。

以下是我采取的步骤:


Private Sub Button1_Click(sender As Object, e As EventArgs) Handles   Button1.Click

    Dim params(0) As Microsoft.Reporting.WinForms.ReportParameter
    params(0) = New Microsoft.Reporting.WinForms.ReportParameter("ReportParameter1", "HELLOOOOOOOOOOOOO")
    ReportViewer1.LocalReport.SetParameters(params)

    'Get Data
    Dim ReportDS As DataSet = GetData()
    Dim rds As ReportDataSource = New ReportDataSource("DS1", ReportDS.Tables(0))
    ReportViewer1.LocalReport.DataSources.Clear()
    ReportViewer1.LocalReport.DataSources.Add(rds)
    ReportViewer1.RefreshReport()

    Me.ReportViewer1.RefreshReport()

End Sub

Public Function GetData() As DataSet

    Dim ds As New DataSet
    Dim adapter As SqlDataAdapter
    Conn.Open()
    Dim sql As String = "Select FirstN, LastN from tblCustomers"

    adapter = New SqlDataAdapter(sql, Conn)
    adapter.Fill(ds)

    Return ds

End Function

请有人指出我正确的方向 - 我不确定我做错了什么!

如果我只执行 ReportParameter1 - 我可以在报表查看器中看到 "HELLOOO",所以我知道它有效,但是添加数据和诸如此类的东西它不起作用,我得到的错误是...... .

A data source instance has not been supplied for DataSet1

根据您收到的错误消息和查看此行:

Dim rds As ReportDataSource = New ReportDataSource("DS1", ReportDS.Tables(0))

我可以得出结论,报告数据集在 RDLC 中定义为 "DataSet",而您将其提供为 "DS1"。

更改为:

Dim rds As ReportDataSource = New ReportDataSource("DataSet1", ReportDS.Tables(0))