大家好!
情况是这样的:在“Report Builder 3.0”中创建了一个 Report.rdl 报表。数据源以与数据库(Microsoft SQL 服务器,数据库 - DataBase1)的连接形式嵌入其中。此报告中还有数据集(Set1、Set2 等),它们接收来自数据源的所有信息。报告本身效果很好。
任务:使用 Visual Studio 2017 中的 ReportViewer 显示报告。
我的问题是,在将数据源传递给报表时,构造函数要求你指定数据集的名称,并传递给它一个ReportDataSource类型的参数(粗略地说,是一个表),例如:
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Set1", dt));
其中 dt,例如:
//подключение к базе DataBase1 и все такое
cmd.CommandText = "Select top (10) id from [Table1]";
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
我需要传输整个数据库,因为我的数据集本身会从中提取所有信息。数据集 Set1 的主体:
select top (10) id as ID from [Table1]
所需结果的伪代码,可以这么说:
reportViewer1.LocalReport.DataSources.Add(datebase1);
请告诉我如何实现这一点?