博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Dev Express Report 学习总结(一) 基础知识总结
阅读量:5270 次
发布时间:2019-06-14

本文共 1903 字,大约阅读时间需要 6 分钟。

  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 > 0)    {        if (NCNum > 0)        {            Decimal d = NCNum * 100 / TotNum;            e.Result = Decimal.Round(d, 2);            e.Handled = true;        }        else        {            e.Result = 100;            e.Handled = true;        }    }    else    {        e.Result = 0;        e.Handled = true;    }}
View Code

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

    

 

转载于:https://www.cnblogs.com/sccd/p/6324805.html

你可能感兴趣的文章
最新版的Chrome不能设置网页编码怎么解?
查看>>
java.lang.String 类的所有方法
查看>>
自己写的一个javascriptsort万能比较函数
查看>>
155.Min Stack
查看>>
冒泡排序
查看>>
test
查看>>
用Windows操作系统的人有时会遇到这样的错误信息:
查看>>
Selenium3+Python3_12:HTML测试报告
查看>>
阅读笔记Multi-task Learning for Stock Selection [NIPS1996]
查看>>
Spring Bean的生命周期例子
查看>>
Python中is和==的区别
查看>>
jsp 隐含对象
查看>>
如何教你用python 3 写简单的登录模块
查看>>
前端工程师怎么提高自己的编码速度
查看>>
java 锁!
查看>>
python RecursionError: maximum recursion depth exceeded in comparison错误
查看>>
用 Chrome 扩展实现修改
查看>>
开源软件代码安全缺陷分析报告——框架类软件专题
查看>>
phpstorm不安装apache就可以本地测试PHP
查看>>
python内置函数
查看>>