将DataTable传递给ReportViewer

时间:2015-12-29 13:13:21

标签: vb.net winforms datatable reportviewer

我正在尝试将数据表传递给reportviewer,我用代码填充它,有没有办法做到这一点?我尝试过但没有任何事情发生

Dim bs As BindingSource
        bs = New BindingSource()
        bs.DataSource = DataTablefillbycode
        Dim rs As ReportDataSource
        rs = New ReportDataSource()
        rs.Name = "Tabletest"
        rs.Value = bs
        form2.ReportViewer1.RefreshReport()
        form2.ReportViewer1.Reset()
        form2.ReportViewer1.LocalReport.ReportEmbeddedResource = "Test.Report1.rdlc"
        form2.ReportViewer1.LocalReport.DataSources.Clear()
        form2.ReportViewer1.LocalReport.DataSources.Add(rs)

        form2.ReportViewer1.RefreshReport()

        form2.ShowDialog()

PS:GridView可以正常使用表" Tablefillbycode"

The ReportViewer

1 个答案:

答案 0 :(得分:2)

按照以下步骤将数据表传递到您的报告:

  1. 我认为您在项目case的根目录中创建了Report1.rdlc,因此其嵌入资源的名称将为Test。另外,我认为Test.Report1.rdlc中的DataSet名称为Report1

  2. DataSet1上放置一个报告查看器,并将其Form2属性设置为Dock,并将其Fill属性设置为Modifier

  3. Public中,我认为您要在Form1中填写DataGridView1,并且您将使用与创建报告时相同的查询。< / p>

  4. Form_Load中,当您点击Form1并希望传递{{{}的数据时,我想您要Button1显示Form2 1}}到它。

  5. 不要忘记Button1

    中的DataGridView1

    <强>代码:

    Imports Microsoft.Reporting.WinForms

    <强>截图:

    enter image description here