子报表即在一个Report(主报表)中嵌入另一个Report(子报表),从理论上来讲,任何一个Report都可以作为一个子报表,但在实际使用过程中,只有主报表和子报表构成一对多关系时才会使用子报表。使用时要注意以下几点:

  1. 使用XRSubreport控件:创建sub-report时,要注意从主报表传入子报表的参数要与子报表的接收参数一一对应且类型相同;

  2. FilterString:对于主子报表间的参数传递,主要目的是对sub-report中的记录进行过滤,主要通过设置ReportTask中的FilterString来完成,对于如何使用FilterString,在此不做赘述;

  3. 报表DataSource的代码设定:在此需要注意的一个问题是,我创建了CalculatedField并使用子报表的接收参数来进行参数的运算,我可以获取到子报表的接收参数,但对于CalculatedField运算的结果,总显示为空,后来找到了该问题的解决办法,主要就是由于没有设置sub-report的DataSource,导致CalculatedField没有进行计算,所以显示为空。以下为设置sub-report DataSource的具体方法:

using (var rptMain = new MainReportName())
{
   //Set the DataSource to main-report.
    rptMain.DataSource = (dataprep.GetMainReportDataList());
    //Set the DataSource to sub-report.
    XRSubreport detailReport = rptMain.Bands[BandKind.ReportFooter].FindControl("SubReportName", true) as XRSubreport;
    detailReport.ReportSource.DataSource = dataprep.GetSubReportDataList();
}

最新文章

  1. 密码备忘录(Android) 开发笔记
  2. Lintcode: Maximum Subarray III
  3. Kendo UI for Angular 2 控件
  4. Verilog中的标点
  5. ptrace
  6. RAS 加密 解密
  7. leetcode — reorder-list
  8. Linux如何编写自启动shell脚本
  9. sap component 中各个组件的关系
  10. MPU6050
  11. mysql常用函数总结
  12. FineReport中JS如何自定义按钮导出
  13. Idea+TestNg配置test-output输出(转)
  14. SQL SERVER: 合并相关操作(Union,Except,Intersect)
  15. docker 容器内ping不通外网
  16. Tornador之初识(一)
  17. zabbix基本监控各指标简解
  18. Oracle 数据库比较日期大小
  19. JavaScript 对大小写敏感。
  20. LAMP 2.7 Apache通过rewrite限制某个目录

热门文章

  1. RowGame TopCoder - 10664
  2. PartyLocation的Post请求问题---debug
  3. 总结:kathasis如何发送get请求获取数据
  4. Proxool Provider unable to load JAXP configurator file: proxoolconf.xml
  5. C/C++中有关字长与平台无关的整数类型
  6. C++11新标准:constexpr关键字
  7. Eclipse遇坑记录
  8. Sublime Text PHP Mac系统环境配置
  9. C/C++中char* p = "hello" 和 const char* p = "hello"的区别
  10. .NET 图片转base64