2

我正在尝试配置 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 语句,并将该数据检索到报表查看器中。

感谢您的任何指导,

朱利安

4

1 回答 1

3

听起来好像您的报告是建立在一个名为DataSet1.

尝试更改此行....

var rds = new ReportDataSource("i96X_dataDataSet_PointValue", myDataTable as DataTable);

...到这条线...

var rds = new ReportDataSource("DataSet1", myDataTable as DataTable);

或者,您可以修改报告并在报告定义中重命名数据源。如果您有很多报告希望使用相同的数据源,那可能更有意义。

于 2013-02-28T18:05:12.167 回答