0

我有一个使用水晶报表的 Web 应用程序。在主水晶报表中,我想显示两个子报表,但是当我尝试这样做时,它会显示主报表的数据,但其他两个子报表数据没有显示。我尝试了以下代码但不起作用。

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;

就是这样,我没有收到任何错误,但数据也没有显示。

4

1 回答 1

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 ;
于 2012-11-06T11:51:12.983 回答