zoukankan      html  css  js  c++  java
  • Dev Express Report 学习总结(三)关于子报表Sub-Report的使用

         子报表即在一个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();
    }
    View Code
  • 相关阅读:
    ListCtrl中垂直滚动条自动滚动
    auth组件
    母版的继承
    mysql数据备份和恢复
    部署MHA
    安装mysql
    yum源优化
    存储过程
    redis哨兵、集群
    redis主从同步
  • 原文地址:https://www.cnblogs.com/sccd/p/6391298.html
Copyright © 2011-2022 走看看