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

时间:2018-12-05 21:01:21

标签: vb.net reporting-services rdlc rdl dynamic-rdlc-generation

我有一个简单的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)中显示表之一。我可以这样做吗?如果是,我该怎么办?

我希望(或希望)运行RDL或RDLC,而无需SQL连接或Access MDB数据库,也不需要文件系统中的中间XML或CSV文件。

感谢您阅读我的问题。

1 个答案:

答案 0 :(得分:0)

最后,我开始工作了。

我错过了添加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

enter image description here