Dev Express,一个非常优秀的报表控件。像其他报表一样,该报表也包括几个主要部分:Report Header,Page Header,Group Header,Detail,Group Footer,Page Footer和Report Footer共7个部分。,除此之外,我们还可以添加Detail Report,并同时添加与此相对应的Report Header/Footer。借助此功能可以实现多个Heaer与多个Detail相互交叉的效果!

  一. 常见总结

  CalculatedFile: 既可以用来计算两个Field/Parameter的值,也可以增加条件判断。在创建后Calculated Field之后,右键CalculatedField->Edit Expression,在打开的窗口中,可以看到其提供了许多丰富的功能,如:加,减,乘,除及合计等等常见功能!

  Detail Report: 相当于一个新的report page,它可以有自己的ReportHeader,Detail及ReportFooter。有了Detail Report就意味着我们可以更加灵活地交叉多个Header与Detail而不用去使用Sub Report。

  Sytle/Odd Style/Even Style:新建并批量使用样式。以XRLabel为例,可以在其Style属性中新建多个样式,如果当前Report页面中其他的XRLabel如果再使用相同的样式时,只需要从样式列表中选择相应的样式即可,减少了重复设置相同属性的繁琐过程!

  Page Number:可以使用XRPageInfo控件。如要显示为:1 OF 1,则需要设置XRPageInfo控件的属性PageInfo为NumberOfTotal,且须将Format设置为:{0} OF {1}!

  FormattingRules:主要通过对条件的设定来控制当前Band的显示隐藏及颜色等的变化!

  Landscape: 在设计report时,主要用来修改report的布局,即横向或纵向。设置方法:在report page的空白处点击Properties,在属性窗口处找到Landscape,把其设为True即可!

  二. 使用自定义的Summary

有时在进行GroupBy时需要对Summary的结果进行相加减或计算百分比,这时就需要用到自定义的Summary了。关于具体的使用如下所示,也可以参照该官方链接的解释:

1. 我有一个界面,如下所示,需要在C处计算出B占A+B的百分比:

2. 选择C处的XRLabel标签(假设我们此处用XRLabel来放置C的value),右键->属性->事件,找到以下内容,双击即可生成后台事件:

3. 修改上一步生成的事件处理过程为以下内容即可。

  

private void NoConsultVisitPercentage_SummaryGetResult(object sender, SummaryGetResultEventArgs e)
{
Decimal OVNum = Convert.ToDecimal(A.Summary.GetResult());
Decimal NCNum = Convert.ToDecimal(B.Summary.GetResult());
Decimal TotNum = OVNum + NCNum;
if (OVNum > )
{
if (NCNum > )
{
Decimal d = NCNum * / TotNum;
e.Result = Decimal.Round(d, );
e.Handled = true;
}
else
{
e.Result = ;
e.Handled = true;
}
}
else
{
e.Result = ;
e.Handled = true;
}
}

PS. 在使用自定义Summry之前,一定要设置XRLabel的属性为Custom,否则不会有任何效果,具体如下所示:

    

Dev Express 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 Reports 常见知识点总结

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

  3. Dev Express Report 学习总结(六)Dev Express Reports自定义Summary

    在我们使用DevExpress开发报表的过程中,对于页面中复杂的数据合计,我们可能会使用到自定义Summary.下面通过一个例子来进行说明: 首先,我建立了如上图所示的报表页面,其中的数据源来自cla ...

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

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

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

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

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

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

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

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

  8. 如何学习FPGA?FPGA学习必备的基础知识

    如何学习FPGA?FPGA学习必备的基础知识 时间:2013-08-12 来源:eepw 作者: 关键字:FPGA   基础知识       FPGA已成为现今的技术热点之一,无论学生还是工程师都希望 ...

  9. MyBatis:学习笔记(1)——基础知识

    MyBatis:学习笔记(1)--基础知识 引入MyBatis JDBC编程的问题及解决设想 ☐ 数据库连接使用时创建,不使用时就释放,频繁开启和关闭,造成数据库资源浪费,影响数据库性能. ☐ 使用数 ...

随机推荐

  1. 关于photoshop处理图片的自动化

    如果打印一个图片我们只需要点击几个按钮就可以完成了,但如果有100多个图片需要打印,那就需要点击几百次按钮,而且这个过程中有很多操作是相同的.能不能简化这个过程呢?是可以的,在photoshop中实现 ...

  2. 39、count_rpkm_fpkm_TPM

    参考:https://f1000research.com/articles/4-1521/v1 https://www.biostars.org/p/171766/ http://www.rna-se ...

  3. vue 之 nodejs中npm的使用

    npm是什么? 简单的说,npm就是JavaScript的包管理工具.类似Java语法中的maven,gradle,python中的pip. 安装包 我们在桌面上创建一个文件夹/01-studyNpm ...

  4. 树莓派研究笔记(10)-- Retropie 模拟器

    前面介绍过lakka模拟器,小巧,轻便,支持中文.其实最著名的游戏系统还是要属于Retropie啊.虽然笨重了一点,但是很多树莓派系统的原汁原味还是保留的很好.这样就不需要我们自己还要对lakka的源 ...

  5. patch请求--501错误

    通过命令 tail -f /var/log/wildfly/wrapper.log -n 1000 查看控制台: 并没有报红. 未显示具体哪行代码有错误. debug运行patch请求,根本没有进入p ...

  6. java全栈day33--html

    本天要完成6个任务,并且布局静态页面(首页)详细分为六个部分  如下 网站信息页面案例(字体标签.排版标签) 网站图片信息页面案例(图片标签) 网站友情链接页面案例(列表标签) 网站首页案例(表格标签 ...

  7. windows10系统连接蓝牙鼠标自动断开解决方案

    环境: Windows 10 企业版 2016 长期服务版 罗技M590 问题: 鼠标长时间未使用,会自动断开 解决步骤: 参考链接: https://zhidao.baidu.com/questio ...

  8. C#修饰符讲解大全

    1.修饰符是什么? 修饰符是用于限定类型以及类型成员的声明的一种符号.[百度百科] 2.修饰符分类 13种修饰符,按功能可分为三类:访问修饰符,类修饰符和成员修饰符.[百度百科] 作 用:限定类型以及 ...

  9. ASP.NET MVC底层原理与框架

    前言 鄙人有一毛病,喜欢钻研原理性的东西,感觉只知道怎么用还不太够,更想知道如何实现的以及为什么会这样. 暑假的时候做积分系统是第一次接触MVC,感觉MVC就是一个框架,分为Module ,view和 ...

  10. javascript 获取标签内的内容

    js 获取标签内的内容 参考:这篇博客给了我很大的启发. http://www.cnblogs.com/breakdown/archive/2012/10/09/2716221.html 我遇到的问题 ...