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

人气:529 发布:2022-10-16 标签: asp.net c# webforms rdlc reportviewer

问题描述

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

I've a ReportViewer(.rdlc) in my app. I want to show a datatable, which is generated dynamically from codebehind, in Reportviewer in Table object.

如何做到这一点?数据集必须通过代码隐藏发送到报告.

How to do this? dataset has to be sent to report through codebehind.

我有我的代码隐藏文件

  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="ReportsReport1.rdlc">
        <DataSources>
            <rsweb:ReportDataSource DataSourceId="ReportOnUser" Name="ReportOnUser" />
        </DataSources>
    </LocalReport>
</rsweb:ReportViewer>

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

I have adde an rdlc file with No design or xsd file Report1.rdlc.

推荐答案

上面的代码运行良好.唯一的问题是添加的Microsoft.ReportViewer.WebForms"dll 版本不同.

The Code above is working perfectly. the only issue was 'Microsoft.ReportViewer.WebForms' dll added was of different version.

520