我希望能够使用SQLCommand 填充报表查看器,而不使用存储过程。我已经创建了一份报告rdlc并使用我的表格中的列进行设置。
我正在使用:
这是我的代码:
var Class_Connection = new SQL_Connection();
Class_Connection.cnn.Close();
Class_Connection.cnn.Open();
var cmd = new SqlCommand("select * from TT", Class_Connection.cnn);
var dt = new DataTable();
dt.Load(cmd.ExecuteReader());
var source = new ReportDataSource(dt.TableName, dt);
RV_Main.LocalReport.ReportPath = Server.MapPath("~/CCD/TT/Report/MyReport.rdlc");
RV_Main.LocalReport.DataSources.Add(source);
RV_Main.LocalReport.Refresh();
我看到了其他帖子here。但那是使用存储过程。我想用尽可能几行的select语句来做这件事。有人可以给我一个如何做到这一点的例子吗?
答案 0 :(得分:0)
您必须在Report Viewer GUI中设置数据源。然后在代码中引用您在数据源中使用的数据集,如下所示:
var cmd = new SqlCommand("select * from TT", Class_Connection.cnn);
var dt = new DataTable();
dt.Load(cmd.ExecuteReader());
var source = new ReportDataSource("DataSet1", dt);
RV_Main.LocalReport.ReportPath = Server.MapPath("~/CCD/TT/Report/MyReport.rdlc");
RV_Main.LocalReport.DataSources.Add(source);
RV_Main.LocalReport.Refresh();