zoukankan      html  css  js  c++  java
  • Dev Express Report 学习总结(一) 基础知识总结

      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,否则不会有任何效果,具体如下所示:

        

  • 相关阅读:
    Select2插件ajax方式加载数据并刷新页面数据回显
    转 proguard 混淆工具的用法 (适用于初学者参考)
    转 【Android】- Android与html5交互操作
    转 android开发笔记之handler+Runnable的一个巧妙应用
    转 Android 多线程:手把手教你使用AsyncTask
    转 android design library提供的TabLayout的用法
    转 Android Lifecycle、ViewModel和LiveData
    转 onSaveInstanceState()和onRestoreInstanceState()使用详解
    转 MessageDigest来实现数据加密
    转 GSON
  • 原文地址:https://www.cnblogs.com/sccd/p/6324805.html
Copyright © 2011-2022 走看看