我有网络应用程序,其中我正在使用水晶报告。在主要水晶报告中我想显示两个子报告,但当我尝试时,它显示主报告的数据,但其他两个子报告数据没有显示。我尝试了以下代码,但无效。
ReportDocument rptDoc = new ReportDocument();
DataTable dt1, dt2;
dt1 = new SalesMasterRepository().GetSalesHeaderData(Salesid);
dt2 = new SalesMasterRepository().GetSalesFooterData(Salesid);
DataTable dtproductview=getProductViewDetails();
rptDoc.Load(Server.MapPath("../Reports/SalesProductReport.rpt"));
rptDoc.SetDataSource(dtproductview);
rptDoc.Subreports[0].SetDataSource(dt1);
rptDoc.Subreports[1].SetDataSource(dt2);
CrystalReportViewer1.ReportSource = rptDoc;
这是我没有得到任何错误但数据也没有显示。
答案 0 :(得分:1)
我有解决方案
SalesProductReport rptDoc = new SalesProductReport(); //Main report
DataTable dt1, dt2;
dt1 = new SalesMasterRepository().GetSalesHeaderData(Salesid);
dt2 = new SalesMasterRepository().GetSalesFooterData(Salesid);
DataTable dtproductview=getProductViewDetails();
salesrpt.Subreports["Sales_header1.rpt"].SetDataSource(dt1);//datasource for subreport
rptDoc .SetDataSource(dtproductview);//Mainreport datasourcce
rptDoc .Subreports["SalesFooter.rpt"].SetDataSource(dt2);//datasource for subreport
CrystalReportViewer1.ReportSource = rptDoc ;