子报表即在一个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();
}

Dev Express Report 学习总结(三)关于子报表Sub-Report的使用的更多相关文章

  1. Dev Express Report 学习总结(八)Dev Express Reports 常见问题总结

    1. 在新建ASP.NET Dev Express Report时的两种方式: A. 右键Add DevExpress Item->New Item->All->从Web Repor ...

  2. Dev Express Report 学习总结(一) 基础知识总结

    Dev Express,一个非常优秀的报表控件.像其他报表一样,该报表也包括几个主要部分:Report Header,Page Header,Group Header,Detail,Group Foo ...

  3. Dev Express Report 学习总结(七)Dev Express Reports 常见知识点总结

    1. CalculatedField中常见表达式: A. For percent: [ValA]* 100 / ([ValA]+[ ValB]);           PS. Please remre ...

  4. express学习(三)—— cookie和session

    express学习(三)-- cookie和session cookie存在浏览器中,最大只能保存4K数据,不安全 session存在服务器中,不能独立(先读取cookie再读取session),较安 ...

  5. 从零开始学习jQuery (三) 管理jQuery包装集

    本系列文章导航 从零开始学习jQuery (三) 管理jQuery包装集 一.摘要 在使用jQuery选择器获取到jQuery包装集后, 我们需要对其进行操作. 本章首先讲解如何动态的创建元素, 接着 ...

  6. Learning ROS for Robotics Programming Second Edition学习笔记(三) indigo rplidar rviz slam

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  7. dev控件 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内

    前言 本文主要讲解 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内,顺便附上Float(浮动)的时候使窗体最大化,及指定只能某一个子窗体能浮动放大. 下面进入正题. 一.首 ...

  8. python学习第三次记录

    python学习第三次记录 python中常用的数据类型: 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). int.数 ...

  9. 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记

    回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...

随机推荐

  1. 树莓派研究笔记(8)-- 编译lakka v2.1源码

    Lakka越玩越觉得强大.如果要是能自己修改一下代码,实现自定义的一些操作就更好了.还可以修复字体文件,修复在部分机器上自动更换Mac地址导致ip变化的问题. 所以我们来尝试编译这个系统.这篇文章几乎 ...

  2. dfs和bfs算法

    1. 存储图的方式一般是有两种的:邻接表和邻接矩阵,一般存储链接矩阵的方式是比较简单的,也便于我们去实现这个临接矩阵,他也就是通俗的二维数组,我们平常用到的那种. 2. 这里我们主要记录和讲一下bfs ...

  3. C++面试笔记--继承和接口

    整个C++程序设计全面围绕面向对象的方式进行.类的继承特性是C++的一个非常重要的机制.继承特性可以使一个新类获得其父类的操作和数据结构,程序员只需在新类中增加原有类没有的成分. 在面试过程中,各大企 ...

  4. [译]如何在visual studio中调试Javascript

    本文翻译youtube上的up主kudvenkat的javascript tutorial播放单 源地址在此: https://www.youtube.com/watch?v=PMsVM7rjupU& ...

  5. tftp命令详解

    TFTP协议简介TFTP是用来下载远程文件的最简单网络协议,它其于UDP协议而实现.嵌入式linux的tftp开发环境包括两个方面: 一是linux服务器端的tftp-server支持,二是嵌入式目标 ...

  6. 通过ajax把json对象传入后台

    一.前台ajax部分 function icheckDelete(url){ var parms = { list : array //这是个数组 }; $.ajax({ dataType: &quo ...

  7. C# console application executing macro function

    C#控制台应用程序,执行或运行Office的宏函数,程序如下: 应用例子:

  8. 利用PIL实现图片的切割

    功能描述: 切图前是一张图,切图后就是九张图!!! 展示: 实现流程图: 代码实现 # -*- coding: utf-8 -*- ''' 将一张图片填充为正方形后切为9张图 ''' from PIL ...

  9. ubuntu - 安装hive

    粗略步骤: 详细参考:https://www.2cto.com/net/201804/735478.html 环境:ubunut  jdk  hadoop   mysql 一.下载hive 二.解压( ...

  10. PHP里public和private的区别

    public  公共的,谁都可以用 private 私有的,当前class可以随便用,外部不能调用