我正在尝试配置ReportViewer但无法使其正常工作
我有以下DataSet:
这是数据集中的查询:
SELECT DataTime, DataValue
FROM PointValue
WHERE (DataTime >= @FromDate) AND (DataTime <= @ToDate)
我也有报告rdlc:
点击时,我有一个运行此代码的按钮:
var myDataTable = new i96X_dataDataSet.PointValueDataTable();
var myTableAdapter = new PointValueTableAdapter();
myTableAdapter.Fill(myDataTable, Convert.ToDateTime("2010-01-20T00:00:00.000"), Convert.ToDateTime("2010-01-21T00:00:00.000"));
var rds = new ReportDataSource("i96X_dataDataSet_PointValue", myDataTable as DataTable);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
但是,当我运行它时,在ReportViewer中写道:
尚未为数据源'DataSet1'提供数据源实例。
看起来正在收集正确的数据,因为当我调试时,我看到计数为5990:
似乎没有添加数据源。
显然我做错了什么。此外,有没有更简单的方法来实现这一目标?这似乎很多工作,我一整天都在阅读文章。我想做的就是能够以某种方式调整附加到SQL数据库的SELECT语句,并将该数据检索到报表查看器中。
感谢您提供任何指导,
儒略
答案 0 :(得分:2)
听起来好像您的报告是基于名为DataSet1
的数据源构建的。
尝试更改此行....
var rds = new ReportDataSource("i96X_dataDataSet_PointValue", myDataTable as DataTable);
...到这一行...
var rds = new ReportDataSource("DataSet1", myDataTable as DataTable);
或者,您可以修改报表并在报表定义中重命名数据源。如果您有许多报告希望使用相同的数据源,那么这可能更有意义。