在我们使用DevExpress开发报表的过程中,对于页面中复杂的数据合计,我们可能会使用到自定义Summary.下面通过一个例子来进行说明:

  

首先,我建立了如上图所示的报表页面,其中的数据源来自class列表,其中处的lbST使用了对当前Group的Sum,处的XRLabel控件使用了对整个Report的Sum。为了测试的方便,该例子使用汇总lbCP的值与位于Group列表中lbST的值来进行演示,其中,GroupField为MedinineName,lbGrandTotal为总计。具体操作如下所示:

1. 设置lbGrandTotal的Summary为Custom;

  

2. 查看当前Report的代码,然后在代码中定义变量AC_GrandTotal:

  private double AC_GrandTotal = 0;

3. 为控件lbCP添加事件SummaryReset和TextChanged:

private void lbCP_SummaryReset(object sender, EventArgs e)
{
AC_GrandTotal = ;
} private void lbCP_TextChanged(object sender, EventArgs e)
{
if (lbCP.Text != "")
{
AC_GrandTotal += Convert.ToDouble(lbCP.Text);
}
}

4. 为控件lbST添加事件SummaryRowChanged:

 private void lbST_SummaryRowChanged(object sender, EventArgs e)
 {
   AC_GrandTotal += Convert.ToDouble(lbST.Summary.GetResult());
 }

5. 为控件lbGrandTotal添加事件SummaryGetResult:

 private void lbGrandTotal_SummaryGetResult(object sender, SummaryGetResultEventArgs e)
 {
   e.Result = AC_GrandTotal;
   e.Handled = true;
 }

6. 运行当前报表,最终的呈现结果如下所示:

到此,一个具有自定义Summary功能的报表就完成了!

Dev Express Report 学习总结(六)Dev Express Reports自定义Summary的更多相关文章

  1. Docker学习(六)Dockerfile构建自定义镜像

    Docker学习(六)Dockerfile构建自定义镜像 前言 通过前面一篇文章可以知道怎么去使用一个镜像搭建服务,但是,如何构造自己的一个镜像呢,docker提供了dockerfile可以让我们自己 ...

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

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

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

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

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

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

  5. Dev Express Report 学习总结(三)关于子报表Sub-Report的使用

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

  6. Dev Express Report 学习总结(二)关于如何使用Grouping分组

    对于所有的报表工具来说,基本上所有Grouping功能的都很相似.正如前面说到的,Group处于Page Header和Page Footer之间,同时又将Detail包括与其中. 下面还是通过一个例 ...

  7. Dev Express Report 学习总结(五)在分组中使用聚集表达式AggregateExpression

    聚集表达式AggregateExpression主要包括几种:Avg(),Count(),Exists(),Max(),Min(),Single()和Sum().其中对于Sum(),在我看来主要有两种 ...

  8. Dev Express Report 学习总结(四)Dev Express 动态生成XRTable使用总结

    1. XRTableCell常见属性  XRTableCell xrTableCell = new XRTableCell(); A. 字体及字体大小 xrTableCell.Font = new S ...

  9. node.js入门学习(六)--express

    1.官网:http://expressjs.com/ 中文:http://www.expressjs.com.cn/ 2.HelloWorld 1)mkdir node-express-demo 2) ...

随机推荐

  1. WordCount 编码与测试

    word count github 项目地址:https://github.com/liuqiang666/wordCount PSP表格 PSP2.1  PSP阶段  预估耗时(小时)  实际耗时( ...

  2. LeetCode第111题:二叉树的最小深度

    问题描述 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,1 ...

  3. java全栈day06---数组的练习 冒泡排序

    水仙花练习功能实现 * A: 水仙花练习功能实现 * a: 题目分析 * 明确什么样的数就是水仙花数.水仙花数是指一个3位数(100-999之间),其每位数字立方之和等于该3位数本身. 如153 = ...

  4. js/jq基础(日常整理记录)-3-一个自定义表格

    一.一个自定义的表格 这个js是我刚工作的时候,我们老大让我做一个功能,我觉得html自带的table功能单一,没有分页和排序功能,所有就尝试着做一下,所以这个东西就出来了.很久没写博客了,贴出来吧, ...

  5. Java的post请求-----接口测试

    本次主要是对登陆的接口测试post请求,希望记录在博客里面,一点一点的成长. package com.ju.Login; import java.io.BufferedReader; import j ...

  6. [raspberry pi3] 串口线使用

    直接上图 GPIO 口说明: 串口线连接: 参考地址: http://bbs.elecfans.com/jishu_596578_1_1.html

  7. boostrap selectpicker 用法

    1..html中先引用 <link href="{{ url_for('static', filename='css/bootstrap-select.css') }}" r ...

  8. 【沽泡学院07】基于ElasticSearch搜索附近的人

    1. 为什么要选择ElasticSearch 1)ElasticSearch 优点: 分布式.实时的.Push replication 完全支持Apache Lucene的接近实时的搜索 处理多租户( ...

  9. Easyui-交互式消息弹出框

    由于项目在优化的时候需要用到弹出框,按自己的想法是傻傻的用一些alert直接弹出得了,但是这样用户体验度不是特别好,影响界面美观,所以自己还是用了封装好的easyui给的消息框,怎么用呢,这个里面很有 ...

  10. ArrayList深度分析:ArrayList和数组间的相互转换

    一.ArrayList转换为数组ArrayList提供public <T> T[] toArray(T[] a)方法返回一个按照正确的顺序包含此列表中所有元素的数组,返回数组的运行时类型就 ...