我有一个子报表,需要从主报表传递数据集。我怎么能这样做。
这是主要报告:
MainReport.SetDataSource(ds1.Tables[0]);
我想这样做:
Subreport.SetDataSource(ds1.Tables[0]);
答案 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]);