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. hihocoder1513 小Hi的烦恼

    传送门 分析 论bitset的妙用......我们利用桶排将输入的数据排序,之后分别考虑5维,a[i][j]表示考虑第i个人第j维的情况下于其它人的大小关系.最后将5维的信息并起来求1的个数即可 代码 ...

  2. p2657 windy数

    传送门 分析 首先这是一个询问一段区间内的个数的问题,所以我们可以用差分的思想用sum(R)-sum(L-1).然后我们考虑如何求出sum(n),我们用dp[i][j][k][t]表示考虑到第i位,最 ...

  3. Luogu 2824 [HEOI2016/TJOI2016]排序

    BZOJ 4552 挺妙的解法. 听说这题直接用一个桶能拿到$80 \ pts$ 发现如果是一个排列的话,要对这个序列排序并不好做,但是假如是$01$序列的话,要对一个区间排序还是很简单的. 发现最后 ...

  4. format Code

    setting中设置format code. 方便格式化代码.

  5. centos中JDK版本冲突的问题

    在centos环境下,我JDK版本安装了jdk6,jdk7.系统还自带了一个JDK7. 我在查看JDK版本是,发现不是我在/etc/profile中配置的. 1:which java 查看Java的命 ...

  6. Bootstrap 组件之 Nav

    一.简介 Nav 指导航页.这里 是一个线上例子. 使用了 .nav 的标签就是一个 Nav.下面举例. {注意} 记住,下面的几种导航页都依赖 .nav. 二.导航页 添加 .nav-tabs. & ...

  7. CodeForces 141C Queue (构造)

    题意:n 个人在排队,然后给出每个人的前面比他身高高的人的数量hi,让你给出一种排列,并给出一种解. 析:首先,hi 小的要在前面,所以先进行排序,然后第一个人的 h1 必须为0,我们可以令身高为 1 ...

  8. MySQL导出导入命令的用例

    1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql 2.导 ...

  9. python常见的加密解密

    #!/usr/bin/env python ''' Python Crypto Wrapper - By Chase Schultz Currently Supports: AES-256, RSA ...

  10. [译]Javascript timing事件

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