如何在c#win form app中设置Sub crystal report的数据源

我正在使用此代码在主报表中加载主报表和子报表。 主报告是空白报告,只包含子报告。

这是我的代码:

MySqlConnection cnn; string connectionString = null; string sql = null; connectionString = "Server = BC; Database = mydb1; Uid = root; Pwd = abc123;"; cnn = new MySqlConnection(connectionString); cnn.Open(); sql = "SELECT * from mytable1 "; MySqlDataAdapter dscmd = new MySqlDataAdapter(sql, cnn); DataSet1 ds = new DataSet1(); dscmd.Fill(ds, "Imagetest"); cnn.Close(); ReportDocument cryRpt = new ReportDocument(); cryRpt.Load("C:/Subreport.rpt"); cryRpt.SetDataSource(ds.Tables[1]); crystalReportViewer1.ReportSource = "C:/MainReport.rpt"; crystalReportViewer1.Refresh(); 

当我运行应用程序时,我只看到带有空白子报表的主报表。

 ReportDocument cryRpt = new ReportDocument(); cryRpt.Load("C:/MainReport.rpt"); cryRpt.DataSourceConnections.Clear(); cryRpt.SetDataSource(ds.Tables[0]); cryRpt.Subreports[0].DataSourceConnections.Clear(); cryRpt.Subreports[0].SetDataSource(ds.Tables[0]); crystalReportViewer1.ReportSource = cryRpt; crystalReportViewer1.Refresh();