對于水晶報表10 的字報表數(shù)據(jù)填充與顯示
發(fā)表時間:2024-06-07 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
水晶報表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;