将数据集传递给SubReport

时间:2013-12-05 13:43:31

标签: c# crystal-reports report

我有一个子报表,需要从主报表传递数据集。我怎么能这样做。

这是主要报告:

MainReport.SetDataSource(ds1.Tables[0]);

我想这样做:

Subreport.SetDataSource(ds1.Tables[0]);

2 个答案:

答案 0 :(得分:1)

我可以用campagnolo_1的小费来解决这个问题!

我的代码:

Clases.ClsDb db = new Clases.ClsDb();
ReportDocument rptDoc = new ReportDocument();
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter("select * from VREPORTE_PROVEEDORES", db.CadenaDeConexion);
SqlDataAdapter da2 = new SqlDataAdapter("select * from ADM_EMPRESA", db.CadenaDeConexion);
da.Fill(ds, "VREPORTE_PROVEEDORES");
da2.Fill(ds, "ADM_EMPRESA");
rptDoc.Load("Reporte_Proveedores.rpt");
rptDoc.SetDataSource(ds);

//Assign to first subreport(Cabecera) the second table (ADM_EMPRESA) in dataset
**rptDoc.Subreports[0].SetDataSource(ds.Tables[1]);**      //Campagnolo_1 Tip

this.crystalReportViewer1.ReportSource = rptDoc;

完美!!

答案 1 :(得分:0)

您必须引用主报告才能调用子报告。下面的代码使用“Subreports”调用,然后使用子报表数组的索引。

MainReport.Subreports[0].SetDataSource(ds1.Tables[0]);