如何在asp.net的reportviewer中显示动态生成的数据表?

时间:2014-05-20 05:12:45

标签: c# asp.net webforms reportviewer rdlc

我的应用中有ReportViewer(.rdlc)。我想在Table对象的Reportviewer中显示一个datatable,它是从代码隐藏中动态生成的。

怎么做?必须通过代码隐藏将数据集发送到报告。

我的代码在文件后面

  DataTable dt = Session["ReportOnUser"] as DataTable;
  if (dt.Rows.Count > 0)
  {
      ReportDataSource rds = new ReportDataSource("ReportOnUser", dt);
      ReportViewer1.LocalReport.DataSources.Clear();
      ReportViewer1.LocalReport.DataSources.Add(rds);
      ReportViewer1.LocalReport.Refresh();
  }

aspx文件

 <rsweb:ReportViewer ID="ReportViewer1" runat="server" Width="800px">
    <LocalReport ReportPath="Reports\Report1.rdlc">
        <DataSources>
            <rsweb:ReportDataSource DataSourceId="ReportOnUser" Name="ReportOnUser" />
        </DataSources>
    </LocalReport>
</rsweb:ReportViewer>

我添加了一个没有设计或xsd文件Report1.rdlc的rdlc文件。

1 个答案:

答案 0 :(得分:0)

上面的代码工作得很好。唯一的问题是&#39; Microsoft.ReportViewer.WebForms&#39;添加的dll版本不同。