我有一个包含 2 个数据表 a 的数据集,我需要使用 2 个 sql 请求在水晶报表中显示数据。因此,我在数据集中创建了 2 个数据表(DataTable1 和 dataTable2),我尝试了这段代码,但它总是执行第二个 sql 请求!
con.ConnectionString = @"connection";
string sql = "MyRequest1";
string sql1 = "MyRequest2";
DataSet1 ds = new DataSet1();
SqlDataAdapter dad = new SqlDataAdapter(sql, con);
SqlDataAdapter dad1 = new SqlDataAdapter(sql1, con);
dad.Fill(ds.Tables["DataTable1"]);
dad1.Fill(ds.Tables["DataTable2"]);
CrystalReport1 report = new CrystalReport1();
report.SetDataSource(ds.Tables["DataTable2"]);
report.SetDataSource(ds.Tables["DataTable1"]);
crystalReportViewer1.ReportSource = report;
crystalReportViewer1.Refresh();
您需要将数据表合并为一个并设置它们。每次调用时SetDataSource
使用数据表,您将覆盖以前的数据。
Use the Merge()
实现此功能的功能 -
DataTable dt = ds.Tables["DataTable2"];
DataTable dt2 = ds.Tables["DataTable1"];
dt.Merge(dt2);
report.SetDataSource(dt);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)