如何在 RDL 或 RDLC 上使用 vb.net 数据集?

How to use vb.net dataset on RDL or RDLC?

我有一个简单的 vb.net 应用程序。

Module Module1
    Sub Main()
        ' Two DataTables.
        Dim table1 As DataTable = New DataTable("patients")
        table1.Columns.Add("name")
        table1.Columns.Add("id")
        table1.Rows.Add("sam", 1)
        table1.Rows.Add("mark", 2)

        Dim table2 As DataTable = New DataTable("medications")
        table2.Columns.Add("id")
        table2.Columns.Add("medication")
        table2.Rows.Add(1, "atenolol")
        table2.Rows.Add(2, "amoxicillin")

        ' Create a DataSet. Put both tables in it.
        Dim set1 As DataSet = New DataSet("office")
        set1.Tables.Add(table1)
        set1.Tables.Add(table2)

    End Sub
End Module

我想使用 RDL 或 RDLC 来显示我的数据集 (set1) 中的 table 之一。我可以这样做吗?如果是,我该怎么做?

我想要(或者我希望)运行 RDL 或 RDLC,不需要 SQL 连接或访问 MDB 数据库,也不需要中间 XML 或 CSV 文件文件系统..

感谢您阅读我的问题。

我终于让它工作了。

我错过了添加 xsd 这一步。 请参阅下面的屏幕截图。

所以这是我的最终代码 另一个重要的一点是 XSD 中的 DATATABLE 必须与 form_load

中的 DATATABLE 构建同名
Imports Microsoft.Reporting.WinForms

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

        Dim DataTable1 As DataTable = New DataTable("patients")
        DataTable1.Columns.Add("name")
        DataTable1.Columns.Add("id")
        DataTable1.Rows.Add("sam", 1)
        DataTable1.Rows.Add("mark", 2)


        ReportViewer1.LocalReport.ReportPath = "C:\IT\MISC\Visual Studio Project PLAYGROUND\WinFormPlay\Report\Report1.rdlc"


        ReportViewer1.LocalReport.DataSources.Add(New ReportDataSource("DataSet1", DataTable1))

        Me.ReportViewer1.RefreshReport()


    End Sub

End Class