明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

對于水晶報表10 的字報表數(shù)據(jù)填充與顯示

[摘要]水晶報表10版本,不再上水晶報表9一樣自動幫你給子報表set 記錄集,需要你在程序中自己添加 protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;DataSet newDs = new DataSet();...
  水晶報表10版本,不再上水晶報表9一樣自動幫你給子報表set 記錄集,需要你在程序中自己添加

protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;

DataSet newDs = new DataSet();
     。

     。得到報表的數(shù)據(jù)集合set給newsDs

   DataSet  dstMain=biz.GetDataSetList(pStart, pEnd, pStoreName);
 newsDs.Tables.Add(dstMain.Tables[0].Copy());//添加主報表數(shù)據(jù)集

   DataSet dstPOS1 = new DataSet();
      DataSet dstPOS2 = new DataSet();
      dstPOS1 = biz.GetDataSetList(pStart, pEnd, pStoreName1);
      dstPOS2 = biz.GetDataSetList(pStart, pEnd, pStoreName2);
      newsDs.Tables.Add(dstPOS1.Tables[0].Copy());//添加子報表數(shù)據(jù)集
      newsDs.Tables.Add(dstPOS2.Tables[0].Copy());//添加子報表數(shù)據(jù)集

    。

  Type m_Report_type  = m_Assembly.GetType(ReportClassName);//ReportClassName是報表名
     Object aa = m_Assembly.CreateInstance(m_Report_type.FullName);
     ReportClass reportEngine  = (ReportClass)m_Assembly.CreateInstance(m_Report_type.FullName);

   for(int i=1;i<newDs.Tables.Count;i++)//給子報表賦值
     {
      ReportDocument oSubreport=reportEngine.Subreports[i-1];
      oSubreport.SetDataSource(newDs);
     }

     reportEngine.SetDataSource( newDs );
     CrystalReportViewer1.ReportSource = reportEngine;
     return;