翻譯|行業(yè)資訊|編輯:胡濤|2023-08-17 11:06:35.817|閱讀 167 次
概述:本文介紹報表生成器FastReport .Net中創(chuàng)建組別和總數(shù)相關(guān)教程,歡迎查閱~
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC報表分析解決方案,使用FastReport .NET可以創(chuàng)建獨(dú)立于應(yīng)用程序的.NET報表,同時FastReport .Net支持中文、英語等14種語言,可以讓你的產(chǎn)品保證真正的國際性。
前面我們看了 "Master-detail "報告類型,它打印了兩個相關(guān)來源的數(shù)據(jù)。FastReport可以創(chuàng)建一個相似的報表,使用一個數(shù)據(jù)源。故我們使用了組。一個組是三個帶子的集合:"Group header"、"Data "和 "Group footer”。在設(shè)計器中,這看起來如下:
一個組總是包含一個頁眉和數(shù)據(jù)。組的頁腳是可選的,可以進(jìn)行刪除。為了使用一個組,你應(yīng)該為組頭設(shè)置組的條件,并將數(shù)據(jù)源連接到 "Data "帶。條件可以是任何表達(dá)式,但作為一項規(guī)則,這是數(shù)據(jù)源的一個列。組的打印是以下列方式進(jìn)行的:
假設(shè)我們有一個產(chǎn)品表,數(shù)據(jù)如下:
數(shù)據(jù)可以在CategoryName列上進(jìn)行分組。這一列將被打印在組頭中。數(shù)據(jù)本身是由ProductName字段呈現(xiàn)的。該報告將如下:
如果我們運(yùn)行該報告,將看到以下內(nèi)容:
將一個組添加到一個報告中可以通過兩種方法來完成。
第一種方法:你在 "Group header "窗口中添加 "組頭 "組別。要做到這一點,按 "Add "按鈕并選擇 "組頭 "帶。FastReport將該組添加到可用的 "Data "帶中,或者將創(chuàng)建一個完整的組,如果報告中沒有這樣的帶:
為了配置一個組,雙擊 "Group header "帶。你會看到組頭編輯窗口:
你需要設(shè)置組的條件。這可以是任何表達(dá)式或數(shù)據(jù)源列。也要選擇排序方式。默認(rèn)情況下,數(shù)據(jù)是按升序排序的。
第二種方法:你使用向?qū)В梢詮?"Report|Group Expert..."菜單中調(diào)用該向?qū)А榱藙?chuàng)建一個組,輸入組的條件并按 "Add "按鈕:
該向?qū)言摻M的所有元素添加到報告中。它還會在組的標(biāo)題上創(chuàng)建 "Text"對象,在其中打印組的條件:
組的工作正確,需要滿足以下條件:數(shù)據(jù)源必須在組條件中使用的那一列上排序。如果這個條件沒有得到滿足,你會看到很多組包含1-2個數(shù)據(jù)行:
內(nèi)容有可能以兩種方式對數(shù)據(jù)源進(jìn)行排序。
這兩種方法是等同的,然而使用第一種方法是很容易的。創(chuàng)建組時,你可以在一個對話框中設(shè)置數(shù)據(jù)分組和排序。
在某些情況下,不應(yīng)使用第一種方法。我們應(yīng)根據(jù)產(chǎn)品名稱的第一個字母設(shè)置分組,產(chǎn)品將只按第一個字母排序,這表現(xiàn)為錯誤。你應(yīng)使用第二種方法,并表示根據(jù)產(chǎn)品的全名進(jìn)行排序。
一個嵌套組有幾個 "Group header "帶。最后一個帶子包含 "Data "帶:
每個組頭都有自己的組別條件。
創(chuàng)建一個嵌套組可以用與普通組相同的方式進(jìn)行。在第一種情況下,你創(chuàng)建一個簡單的組并在 "Configure Bands "窗口中添加嵌套組。為此,選擇現(xiàn)有的 "Group header "帶,按 "Add "按鈕,再添加一個 "Group header "帶:
然后調(diào)用所添加組的編輯器,設(shè)置組的條件。
在第二種情況下,使用分組專家。設(shè)置分組條件并點擊 "Add "按鈕。向?qū)研陆M添加到現(xiàn)有組中。
嵌套組的打印與普通組的打印沒有多大區(qū)別。在打印數(shù)據(jù)時,F(xiàn)astReport將檢查所有組的所有分組條件。如果條件改變,相應(yīng)的組會結(jié)束,新的組開始打印。
對于組的管理,可以使用組專家。可從 "Report|Group Expert... "菜單中調(diào)用:
分組通常用于打印每組中的某些總值。如可以是組中的行數(shù),也可以是某一數(shù)據(jù)列的總和。打印此類值時,使用合計。在 一章中將介紹如何使用合計。
為了打印組中的總值,需要執(zhí)行以下操作:
在 "Data(數(shù)據(jù))"窗口中選擇 "Actions|New total...(Actions|New total...)"項,創(chuàng)建總計;
在 "Evaluate on each row of the band "組合框中選擇組的數(shù)據(jù)段;
在 "Print on the band "組合框中選擇組頁腳;
將打印總值的 "Text "對象放在組頁腳上。
若要打印每組中的行數(shù),請按如下方式配置總數(shù):
為了顯示總計的值,將其拖到組頁腳:
準(zhǔn)備的報告如下:
在向?qū)А康膸椭拢梢蕴砑踊騽h除分組,也可以更改分組順序。更改分組順序可使用按鈕 和
。通過 "Edit...(編輯...)"按鈕,您可以更改所選組的分組條件。
組頁眉和頁腳具有 "RepeatOnEveryPage "屬性。如果組不適合打印在報表的某一頁上,,使用該屬性,您可以在打印組的每一頁上打印組頁眉/頁腳。當(dāng)打印這樣的頁眉/頁腳時,F(xiàn)astReport設(shè)置其 "Repeated "標(biāo)志。這可用于在普通組頭和重復(fù)時打印不同的對象,如在新頁面上打印 "continue... "文本。故請使用 "Text "對象的 "PrintOn "屬性(更多詳情請參見 "Booklet "報告類型 "部分)。
為了打印不同的文本,請在組頭放置兩個對象,:
第一個對象將打印在普通頁眉上。將其 "PrintOn "屬性值設(shè)置為 "FirstPage, LastPage, OddPages, EvenPages"(即除 "RepeatedBand "外的所有值);
第二個對象將只打印重復(fù)的頁眉。將其 "PrintOn "屬性設(shè)置為 "RepeatedBand"。在頁眉上添加帶有 "continue... "文本的 "Text "對象。
報告打印如下:
組頁腳可以在每一頁上重復(fù)出現(xiàn):
在本報告中,組頁腳有兩個對象,一個位于另一個之上:
"Group Header" 帶具有一些有用的屬性。
"StartNewPage "屬性允許在打印組之前形成新頁面。故每個組都將放置在新頁面上。
為避免第一頁為空,新頁面不會在第一組之前添加。
“ResetPageNumber "屬性允許在打印組時重置頁碼。通常它與 "StartNewPage "屬性一起使用。如果同時啟用這兩個屬性,每個組都將打印在新頁面上,并有自己的頁碼。
本次關(guān)于 FastReport .Net 介紹就講解到這里了,點擊此處查看關(guān)于用戶指南的更多內(nèi)容。如果您想獲取更多產(chǎn)品試用/授權(quán)/價格信息,請點擊FastReport .Net了解,或者點擊咨詢。
FastReport技術(shù)QQ群:585577353 歡迎進(jìn)群一起討論
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn