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,否則不會有任何效果,具體如下所示:

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM