我正在尝试配置 ReportViewer,但无法使其正常工作
我有以下数据集:
这是数据集中的查询:
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 语句,并将该数据检索到报表查看器中。
感谢您的指导,
朱利安
最佳答案
听起来好像您的报表是基于名为 DataSet1
的数据源构建的。
尝试更改此行....
var rds = new ReportDataSource("i96X_dataDataSet_PointValue", myDataTable as DataTable);
...到这一行...
var rds = new ReportDataSource("DataSet1", myDataTable as DataTable);
或者,您可以修改报表并重命名报表定义中的数据源。如果您有很多报告希望使用相同的数据源,那么这可能更有意义。
关于c# - 数据源未添加到 ReportViewer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15141831/