2011-11-04 2 views
3

J'utilise ce code pour charger un rapport principal et un sous-rapport dans le rapport principal. Le rapport principal est vide et ne contient que des sous-rapports.Comment définir la source de données du rapport Sub crystal dans l'application C# win form

Voici mon code:

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(); 

Quand je lance l'application, je vois juste rapport principal sous-rapport vide.

Répondre

6
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(); 
+0

Hey grand qui fonctionne, merci ... –

Questions connexes