Dev Express Report 學習總結(六)Dev Express Reports自定義Summary


  在我們使用DevExpress開發報表的過程中,對於頁面中復雜的數據合計,我們可能會使用到自定義Summary.下面通過一個例子來進行說明:

  

      首先,我建立了如上圖所示的報表頁面,其中的數據源來自class列表,其中處的lbST使用了對當前Group的Sum,處的XRLabel控件使用了對整個Report的Sum。為了測試的方便,該例子使用匯總lbCP的值與位於Group列表中lbST的值來進行演示,其中,GroupField為MedinineName,lbGrandTotal為總計。具體操作如下所示:

1. 設置lbGrandTotal的Summary為Custom;

  

2. 查看當前Report的代碼,然后在代碼中定義變量AC_GrandTotal:

  private double AC_GrandTotal = 0;

3. 為控件lbCP添加事件SummaryReset和TextChanged:

private void lbCP_SummaryReset(object sender, EventArgs e)
{
     AC_GrandTotal = 0;
}

private void lbCP_TextChanged(object sender, EventArgs e)
{
    if (lbCP.Text != "")
    {
        AC_GrandTotal += Convert.ToDouble(lbCP.Text);
    }
}
View Code

4. 為控件lbST添加事件SummaryRowChanged:

 private void lbST_SummaryRowChanged(object sender, EventArgs e)
 {
   AC_GrandTotal += Convert.ToDouble(lbST.Summary.GetResult());
 }

5. 為控件lbGrandTotal添加事件SummaryGetResult:

 private void lbGrandTotal_SummaryGetResult(object sender, SummaryGetResultEventArgs e)
 {
   e.Result = AC_GrandTotal;
   e.Handled = true;
 }

6. 運行當前報表,最終的呈現結果如下所示:

   

   到此,一個具有自定義Summary功能的報表就完成了!


免責聲明!

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



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