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