原創|使用教程|編輯:鄭恭琳|2018-06-14 15:13:55.000|閱讀 762 次
概述:今天,我們將著眼于在Chart對象的上下文中應用Processing屬性。使用Processing屬性,我們可以使用稍后將要檢索的數據。這種機制被稱為“延期處理”。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在文章“如何在FastReport VCL 6中的數據組標題中顯示總計”中,我們研究了如何使用Processing屬性作為“Text”對象。但是,該屬性對于其他對象也很典型:圖表、量表和條形碼。今天,我們將著眼于在Chart對象的上下文中應用Processing屬性。使用Processing屬性,我們可以使用稍后將要檢索的數據。這種機制被稱為“延期處理”。這個想法是,打開Processing屬性的對象不像往常一樣按優先級順序處理。當在此對象的ProcessAt屬性中選擇的事件被觸發時,它將被處理。因此,根據報告末尾獲得的數據,我們可以在報告的開頭創建一個圖表。
但是在本文中,我們將看看來自交付FastReport VCL 6的“Expressions processing”演示。我們的目標是顯示按大洲分組的各國人口圖。
我們來創建一個新的報告。在“Data”選項卡上添加數據源。創建一個到數據庫的連接。為此,從工具欄中拖動ADO數據庫組件并創建連接:
交付FR VCL 6具有演示數據庫demo.mdb。我們使用它。現在您需要從數據庫中獲取數據。我們可以在兩個組件之間進行選擇:ADO Table和ADO Query。第一個允許你選擇一個表來顯示,第二個是寫一個SQL查詢。由于數據沒有排序,我們將不得不通過排序來編寫我們的查詢。將ADO查詢組件拖到工作區中。在添加的對象的屬性檢查器中,我們找到SQL。雙擊打開SQL查詢編輯器旁邊的字段:
SELECT * FROM Country ORDER BY Continent, Name
轉到報告頁面。在“Data”band上,我們放置字段:
Name,Area,Population。
我們添加“Group header”band。分組條件是Continent字段。另外,添加該組的基礎值。這種模式如下:
在小組頁腳中,我們將構成總數:
[SUM(< ADOQuery1."Population">,MasterData1)]
現在將Chart對象添加到“Group Header”band。通過雙擊它來調用圖形的編輯器。添加一個新系列 - Bar - Normal。在系列設置中,選擇數據源 - Band源 - MasterData1。對于Label - 值Name,對于Y軸 - Population。
由于非洲大陸可能有很多國家,我們沒有能力推導出所有的東西。因此,我們只限于10個值。為此,請將TopN參數設置為10。最后一步是彩色列。在左邊你看到該系列的屬性檢查器。啟用ColorEachPoint屬性。
關閉圖表編輯器。
現在只需點擊它來選擇圖表對象。在左側的屬性檢查器中,您可以找到Processing。展開此屬性并查看另外兩個:GroupLevel和ProcessAt。第一個對我們不感興趣,它適用于具有多個嵌套層次的分組。第二個通過對象來指定事件,它將被處理。我們選擇paGroupFinished。這意味著我們的圖表只會在顯示組后顯示數據。對于每個組都是如此。我們來看看最終報告模板:
正如您已經注意到的那樣,我將Continent字段和底部的列標題添加到“Group Header”band。接著,讓我們運行報告:
按字母順序排列的第一組是非洲。該圖顯示按降序排列的國家/地區的9列。最右邊的列顯示了其他國家的人數總數,不在圖表中。如果您只想顯示圖表,請將MasterData和“Group Cell”的bands的Visible屬性設置為“false”:
由于Processing屬性,數據分組可以直觀地顯示在圖表上。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn