2016-10-03 16 views
0

Crystal Reportsに2つのサブレポートが必要です。メインレポートにはデータが表示されますが、サブレポートには表示されません。これをどうすれば解決できますか?サブレポートにデータが表示されない

SqlConnection con = new SqlConnection(GlobalClass.constr); 
con.Open(); 
SqlDataAdapter da = new SqlDataAdapter("select company, DocNo, Date, CustomerName, Address, ContactNo, SubTotal, VatType, Total,subtotal2, MainTotal, Discount, GrandTotal FROM CashMemo where docno='"+cashmemono+"'", con); 
DataSet ds = new DataSet(); 
da.Fill(ds, "rptCashMemoReceipt"); 

SqlDataAdapter da1 = new SqlDataAdapter("select sl1,CylinNo1, Description1, IssueDate, RecvDate, TotalDays, RentAmount FROM CashMemo where docno='"+cashmemono+"'", con); 
DataSet ds1 = new DataSet(); 
da1.Fill(ds1, "subrpt1"); 

SqlDataAdapter da2 = new SqlDataAdapter("select Slno, CylinNo, Description, Size, Unit, Rate, Amount FROM CashMemo where docno='"+cashmemono+"'", con); 
DataSet ds2 = new DataSet(); 
da2.Fill(ds2, "subrpt2"); 

rptCashMemoReceipt abc = new rptCashMemoReceipt(); 
abc.SetDataSource(ds.Tables[0]); 

abc.Subreports[0].SetDataSource(ds1.Tables[0]); 
abc.Subreports[1].SetDataSource(ds2.Tables[0]); 

crystalReportViewer1.ReportSource = abc; 
crystalReportViewer1.Refresh(); 
con.Close(); 
+0

[サブレポートのデータを表示しない]の可能性のある重複(http://stackoverflow.com/questions/2236509/subreport-not-displaying - データ) –

答えて

1

あなたはCrystalDecisions.CrystalReports.Engine.ReportDocumentを使用することができます

List<YourType> list_main_report = GetListMain(); // here you implemented sql 
List<YourType> list_child_report = GetListChild(); // here you implemented sql 

ReportDocument mainReport = new ReportDocument(); 
ReportDocument childReport = new ReportDocument(); 

childReport.Load(System.Web.HttpContext.Current.Server.MapPath("~/Reports/") + "child_report.rpt"); 
childReport.SetDataSource(list_child_report); 

mainReport.Load(System.Web.HttpContext.Current.Server.MapPath("~/Reports/") + "main_report.rpt"); 
mainReport.SetDataSource(list_main_report); 
mainReport.Database.Tables[0].SetDataSource(list_main_report); 
mainReport.Subreports["child_report.rpt"].Database.Tables[0].SetDataSource(list_child_report); 

mainReport.ExportToHttpResponse(ExportFormatType.PortableDocFormat, System.Web.HttpContext.Current.Response, false, "main_report"); 

childReport.Close(); 
mainReport.Close(); 
+0

私はパスを与えたくない、私に他の方法を提供してください –

関連する問題