c# - 数据源未添加到 ReportViewer

标签 c# asp.net datatable dataset reportviewer

我正在尝试配置 ReportViewer,但无法使其正常工作

我有以下数据集:

DataSet

这是数据集中的查询:

SELECT        DataTime, DataValue
FROM            PointValue
WHERE        (DataTime >= @FromDate) AND (DataTime <= @ToDate)

我还有一份rdlc报告:

Reportrdlc

我有一个按钮,单击时会运行此代码:

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:

Debug

似乎没有添加数据源。

显然我做错了什么。另外,有没有更简单的方法来实现这一目标?看起来工作量很大,我一整天都在阅读这方面的文章。我想要做的就是能够以某种方式调整附加到 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/

相关文章:

c# - 使用 VSTO 在 PowerPoint 中粘贴内容时格式丢失

c# - ASP.NET 4.5 客户端和服务器无法通信,因为它们不具备通用算法

javascript - DT 表中的 Shiny 小部件

asp.net - 如何在调用 Crystal Reports ExportToHttpResponse 方法后运行清理代码?

javascript - 隐藏所选项目并显示另一个项目,而不是 jquery 中的项目列表

javascript - jQuery 返回空白页的数据表初始化

javascript - 从 JavaScript 源数据表中获取过滤后的数据数组

c# - WinForms:如何在一段文本中对齐 LinkLabel?

c# - 派生类的 XML 反序列化

c# - 如何更改我的 C++ 代码以用作 C# 中的 DLL?