当前位置: 首页 > 图文教程 > 网络编程 > ASP > 关于水晶报表10 的字报表数据填充和显示

ASP
asp中如何限制重复提交同一表单
asp不用DSN访问数据库
ASP文件上传原理分析及实现实例
在ASP程序中访问Access数据库
datagrid编辑、修改、删除、翻页例子
用好ASP.NET 2.0的URL映射
ASP.NET中Datagrid常见错误
ASP.NET 2.0数据缓存功能简介
ASP.NET2.0的缓存控件和地址映射
ASP.NET 2.0中的DataSource系列控件
ASP.NET 2.0中的登陆控件简介
asp存储过程使用
在Asp中使用存储过程
ASP判断文件地址是否有效
ASP+SMTP完成邮件群发功能
用Asp隐藏文件路径实现防盗链
一个通用的保护ASP系统的方法
编写安全的ASP代码
ASP的错误处理集锦
ASP ActiveX 组件

ASP 中的 关于水晶报表10 的字报表数据填充和显示


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 29 ::
收藏到网摘: n/a

  水晶报表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;