原創|使用教程|編輯:鄭恭琳|2018-05-15 14:45:55.000|閱讀 752 次
概述:FastReport VCL 6中出現的新功能之一是能夠在標題欄中顯示分組結果。以前,您只能在分組后顯示結果。如果數據組足夠大,則必須將其向下滾動以查找結果。在數據組標題中打印結果要方便得多。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport VCL 6中出現的新功能之一是能夠在標題欄中顯示分組結果。以前,您只能在分組后顯示結果。如果數據組足夠大,則必須將其向下滾動以查找結果。在數據組標題中打印結果要方便得多。
我們來看看在標題欄中使用總數的特性。最初有關它如何工作的一點理論。
標題中的總數使用延遲處理來實現。在報告輸出期間,所有具有非標準處理條件的對象都被放置在特殊列表中。然后,在達到一定條件時,觸發對象的處理。
在標題區中成功顯示總數必須遵守許多條件:
現在考慮“Text”對象的新屬性。Processing屬性允許您定義一個事件,通過這個事件將在這個對象中顯示一個值。事實上,Processing包含兩個屬性——GroupLevel和ProcessAt。 GroupLevel允許您設置數據組的嵌套級別。這是在您使用幾個嵌套分組的情況下完成的。因此,您可以在每個組的每個標題中顯示總計。
ProcessAt包含您可以開始處理該字段的事件列表。以下是可能的值:
例如,您選擇在數據組結束時生成總數。為了發現這個數據組已經結束,FR要求一個小的數據組隱藏單元格。如果所選事件是paReportFinished,則頁面頁腳是必需的。
現在讓我們在實踐中考慮以上所有內容。我們需要創建一個包含兩個會話的報告。一個嵌入另一個。從演示數據庫中獲取銷售表。
您可以從模板中看到,我們創建了一個公司名稱的數據組。然后我們添加了訂單號的組。最后,在“Data” band中,顯示了訂單中的信息。每組的頁腳總數為:
[SUM (< Sales. "Qty"> * < Sales. "List Price">, MasterData1)]
摘要顯示在報告匯總區中。
我們的目標是將結果帶入標題欄。我們從第一組開始。在右側添加文本字段:“Total group sum: [SUM (< Sales." Qty "> * < Sales." List Price ">, MasterData1)] $”。在這個文本框的屬性中,我們找到Processing并設置paGroupFinished的值:
運行報告:
現在讓我們將兩個文本字段添加到第二組。我們會把它們一個接一個放在右邊。對于第一組,該值為“[SUM (< Sales." Qty "> * < Sales." List Price ">, MasterData1)] $”。對于第二組,是“from [SUM (< Sales." Qty "> * < Sales." List Price ">, MasterData1)] $”。
現在為第一組設置屬性:GroupLevel - 0,ProcessAt - paGroupFinished。
對于第二組我們設置相同的屬性:GroupLevel - 1,ProcessAt - paGroupFinished。
因此,您將首先推導出當前數據組的結果,然后推導出該級別以上的數據組。我們來看看它的樣子:
它仍然顯示整個報告的總計。添加一個文本字段到報表頭:Total sum: [SUM (< Sales. "Qty"> * < Sales. "List Price">, MasterData1)] $。我們為它設置屬性:GroupLevel - 0,ProcessAt - paReportPageFinished。運行報告:
在每種情況下,我們都顯示一個具有相同聚合表達式的字段,但我們為數據組和報告標題獲得了不同的值。這是關于組建總時間的一切。在某個時間點,聚合函數具有不同的值。這就是為什么正確設置ProcessAt參數很重要。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn