将datatable绑定到reportviewer表时出错

时间:2012-07-26 17:34:58

标签: c# asp.net datatable reportviewer

我填充了数据表。我想在报告中显示它。我这样做:

ReportDataSource source = new ReportDataSource("dtss", dt);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(source);
ReportViewer1.DataBind();
ReportViewer1.LocalReport.Refresh();

但是当我尝试构建时,我得到错误:

  

数据集'DataSet1'指的是数据源“”,它不存在。

我错过了什么?使用Webforms(ASP.net)

2 个答案:

答案 0 :(得分:2)

您为ReportDataSource提供的名称需要与DataSet的名称(在报告中定义)匹配。例如,在第1行(您的代码,上面),您需要说:

ReportDataSource source = new ReportDataSource("DataSet1", dt);

或将数据集(在您的报告中)重命名为“dtss”

答案 1 :(得分:0)

替代。

显然,如果你在rdlc文件中添加一个DataSet,它会自动关联xml中的名称,当你从rdlc删除它时,它不会从xml中删除它,所以它只是给你一个它认为的引用作为空数据集,无法评估。我首先将我的第二个命名为DataSet2,然后在设计中将其设置后决定将其删除并重命名,但是您必须返回到xml并删除整个空DataSet节点<>。 希望这可以帮助那些无法通过上述答案解决问题的人。