翻譯|行業資訊|編輯:胡濤|2024-02-18 10:17:52.070|閱讀 155 次
概述:這篇文章將向您介紹報表生成器FastReport .Net中有關報表中的總計相關內容,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創建獨立于應用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產品保證真正的國際性。
在許多報告中,我們可能需要顯示一些總數信息:組的總和、列表中的行數等等。FastReport 使用總數來完成這項任務。對于總數,您需要指定以下參數:
總函數列表如下:
Function | Description |
---|---|
Sum |
計算表達式的總和。 |
Min |
計算表達式的最小值。 |
Max | 計算表達式的最大值。 |
Average |
計算 表達式的平均值 |
Count |
返回行數。 |
CountDistinct |
返回不同值的數量。 |
我們將以使用合計函數為例進行說明。讓我們創建使用"Categories"和 "Products"兩個表的 "master-detail"報告:
編寫的報告如下:
讓我們在該報告中添加總計,打印每個類別的庫存單位總量--"UnitsInStock "數據列的總和。總計將打印在 "Data Footer "區域。
要打印總值,需要先創建總值。為此,按下 "Data"窗口中的 "Action "按鈕,選擇 "New total"項。另一種方法是右擊數據樹中的"Totals" 元素,選擇 "New total" 菜單項。您將看到合計編輯器窗口。
首先,您需要輸入總數的名稱。您將使用合計的名稱來稱呼合計,因此,合計的名稱要易于理解其計算的內容。讓我們把合計稱為 "TotalUnits"。
然后,我們為總數選擇 "Sum "函數。
現在,我們需要指明計算總計的數據范圍。為此,我們在 "Evaluate on each row of the band:(在帶的每一行上評估:)"字段中選擇 "Data(數據)"帶,在該帶中打印產品列表。在 "Print on the band:"字段中,我們選擇打印總數的條帶,即 "Data Footer"條帶。
按確定按鈕關閉編輯器。你會看到新的總數出現在 "數據 "窗口中。現在可以將其拖入報告中:
運行報告后,我們將看到以下內容:
條件合計
在前面的示例中,計算的是所有數據行的總數。我們可以通過在總計編輯器中指明條件來限制這一范圍。只有條件返回為真的數據行才會計算總計。
例如,我們可以設置以下條件:
這意味著,應為未設置 "Discontinued "標志的產品計算總計。
運行總計
在我們的示例中,打印 "Data Footer"帶后重置了總數。出現這種情況的原因是,我們在總計編輯器中指出,打印總計后必須重置總計。因此,每個類別都打印了自己的總值。
如果我們取消選中 "Reset after print"復選框,打印后就不會重置總數。這就是所謂的運行總計。
如果需要同時打印兩種類型的合計值(普通合計和運行合計),可以再創建一個具有類似設置的合計值,然后取消選中 "Reset after print "標志。
頁碼總數
要創建打印在頁腳的總數,必須在 "Print on the band:"字段中注明頁腳。
在頁眉打印總計
通常情況下,您會在頁腳部分(如數據頁腳、組頁腳等)打印總計值。這是一種自然的打印順序,因為當您打印總計時,其值已經計算完畢,可以隨時使用。不過,在某些情況下,您需要將總數打印在頁眉上(例如,組頁眉)。如果嘗試這樣做,您將看到一個零值。此時,打印出的總數尚未計算。
為了解決這個問題,FastReport 有一個叫做 "delayed print "的功能。"Text "對象有一個名為 "ProcessAt "的屬性,它可以有以下值之一:
Value | Description |
---|---|
Default |
默認打印模式。這是默認值。 |
ReportFinished |
該對象的值將在報告結束時計算。 |
ReportPageFinished |
該對象的值將在頁面中所有條帶完成時計算。 |
PageFinished |
該對象的值將在頁面結束時計算。 |
ColumnFinished |
該對象的值將在列結束時計算。 |
DataFinished |
該對象的值將在數據帶結束時(打印頁腳時)計算 |
GroupFinished |
該對象的值將在組結束時計算(打印其頁腳時)。 |
讓我們來看看它是如何工作的。將打印總數的 "Text "對象放在組頭。將 "Text "對象的 "ProcessAt "屬性設置為 "GroupFinished":
運行報告時,FastReport 將執行以下操作:
準備好的報告如下:
使用 "ProcessAt "屬性的其他值,可以在報告標題中打印報告總數(設置 ProcessAt = ReportFinished),或在頁眉中打印頁面總數(設置 ProcessAt = PageFinished)。
如果打開報告文件緩存("Report/Options..."菜單,"Use file cache "復選框),延遲打印功能將不起作用。
本次關于 FastReport .Net 介紹就講解到這里了,點擊此處查看關于用戶指南的更多內容。如果您想獲取更多產品試用/授權/價格信息,請點擊FastReport .Net了解,或者點擊咨詢。
FastReport技術QQ群:585577353 歡迎進群一起討論
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn