数据|水晶报表|显示|水晶报表
水晶报表10版本,不再上水晶报表9一样自动帮你给子报表set 记录集,需要你在程序中自己添加
protected CrystalDecisions.Web.CrystalReportViewer CrystalReportViewer1;
DataSet newDs = new DataSet();
。
。得到报表的数据集合set给newsDs
DataSet dstMain=biz.GetDataSetList(pStart, pEnd, pStoreName);
newsDs.Tables.Add(dstMain.Tables[0].Copy());//添加主报表数据集
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());//添加子报表数据集
newsDs.Tables.Add(dstPOS2.Tables[0].Copy());//添加子报表数据集
。
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;