fastreport c#入門教程之圖表,FastReport允許用戶插入chart製表組件到報表中,這樣,在FastReport面板上的“TfrxCharObject” 組件就必須應用上。這個組件基於“TeeChart”動態庫,在delphi中需要將它包含在工程中。
工具/原料
fastreport
方法/步驟
FastReport允許用戶插入chart製表組件到報表中,這樣,在FastReport面板上的“TfrxCharObject” 組件就必須應用上。這個組件基於“TeeChart”動態庫,在delphi中需要將它包含在工程中。
我們通過以下示例先進行簡單說明,連接DBDemos中的countory表,數據內容如下:
入門教程之圖表#
在delphi環境中創建一個新的工程,添加“TTable”,“TfrxChartObject”,“TfrxDBData”,“TfrxReport”組件,並設置屬性值:
Table1:
DatabaseName = 'DBDEMOS'
TableName = 'country.db'
frxDBDataSet1:
DataSet = Table1
UserName = 'Country'
進入到報表設計器頁面,並連結設置數據源。在報表的設計頁上放置一個“chart”組件,並調整其大小(18X200px)。雙擊組件,打開組件的編輯器窗口。
char編輯器區域說明:
1:chart結構,一個chart包含有幾個製表系統。
2:組件監視器,顯示所選組件的屬性。
3:連結chart的series的數據屬性。
入門教程之圖表#
開始的界面顯示如上,首先添加一個或幾個series,在1區點擊按鈕,添加一個Pie。
入門教程之圖表#
有許多可用的不同的類型的series。添加一個系列之後,3區被激活。首先選擇數據源,設置Label和pie字段。
入門教程之圖表#
點擊確定按鈕,關閉編輯器窗口,然後預覽。
入門教程之圖表#
還如何改良以下報表呢?首先,將數據按升序方式進行排序。再次進入編輯器,選擇要設置的series,在3區設置選項。
入門教程之圖表#
1、chart數據中數字的限制
上面的製表看上去非常擁擠,在chart中有特別多的值,而有些看不見。FastReport可以設置顯示數據的限制性。因此不被限制的值可以在製表中顯示。
在我們的示例中,包含18個數值,而最多友8個能顯示,鍵入編輯器,進行設置。
入門教程之圖表#
前幾個如果不等於0。則顯示在報表中,如果排序沒有設置,則採用默認排序。
結果如下:
入門教程之圖表#
2、設置
下面說明一下幾個有用的設置。這些屬性只能在對象監視器中進行設置。
以下幾個屬性可用:
——Gradient:設置背景填充顏色。
——Legend : 圖例
一下是series的屬性:
——ColorEachPoint:設置每個部分一種顏色
——ExplodeBiggest:設置最大部分分出。
——ValueFormat:數字監視格式。
3、指定數字製表
在上面的製表中,我們使用的是數據表中數據進行創建的圖表。還可以通過手動輸入進行製表。這對創建一個小的製表系統是非常方便的。
讓我們示範一下如何工作?在報表設計器中添加一個製表系統,進入編輯器,添加一個“bar chart”類型series,並設置屬性:
入門教程之圖表#
4、利用腳本進行製表
將上面的xvalue和yvalue屬性值取消掉,並在報表中添加如下代碼:
PascalScript:
begin
Chart1.SeriesData[0].XSource := 'Jan;Feb;Mar;Apr';
Chart1.SeriesData[0].YSource := '31;28;31;30';
end.
C++Script:
{
Chart1.SeriesData[0].XSource = "Jan;Feb;Mar;Apr";
Chart1.
}
SeriesData[0]允許用戶設置第一個series參數,如果製表中有多個series,可以通過SeriesData[Data_Number]進行設置。
5、在delphi環境中創建的報表的打印
如果用delphi的代碼創建一個報表,並想著打印報表,這需要一個“Picture”組件。在報表設計器的相應位置添加一個“Picture”組件。在delphi環境中,在frxReport.OnBeforePrint事件中添加如下代碼:
procedure TForm1.frxReport1BeforePrint(Sender: TfrxReportComponent);
begin
if Sender.Name = 'Picture1' then
TfrxPictureView(Sender).Picture.Assign(
Chart1.TeeCreateMetafile(False,
end;
Picture1是報表中Tpicture組件,chart1是delphi中的Tchart組件名稱。
同為比較常用的報表工具,FineReport對圖表的解決方案與FastReport有所不同,具體如下:
1. 圖表製作流程
圖表製作流程如下圖:
入門教程之圖表#
該章節我們以下圖所示的柱形圖為例,展示各個地區產品類型的銷量情況,為大家簡單的介紹下圖表的製作流程。
入門教程之圖表#
2. 示例
2.1 準備數據
在製作圖表前,需要先定義圖表的數據來源。
在上面的圖表製作流程中提到數據來源有兩種類型,數據集數據源和單元格數據源,本章節使用數據集作為數據源,如果需要使用單元格數據源,可查看定義圖表單元格數據源。
新建工作薄,添加數據集,SQL語句為SELECT * FROM [銷量],使用銷量表作為圖表的數據來源。
2.2 插入圖表並選擇圖表類型
圖表有兩種插入方式:單元格圖表與懸浮圖表,該例中我們以懸浮圖表為例,單元格圖表的插入方式請查看單元格圖表。
點擊工具欄中的插入>懸浮元素>插入圖表,彈出圖表嚮導,選擇圖表類型如柱形圖,如下圖:
注:插入圖表和選擇圖表類型一般性是在一起完成的。
入門教程之圖表#
2.3 定義圖表數據
選擇完圖表類型後,點擊確定,返回報表主體界面,選中懸浮圖表,在報表主體右側上方的圖表屬性表中設置圖表屬性,選擇圖表屬性表-數據,設置柱形圖的數據,如下圖:
入門教程之圖表#
設置圖表數據,首先要選擇數據來源,前面我們新建了一個數據集ds1,這張圖表的數據來源於數據集數據,選擇好數據來源之後,為分類軸、系列名、系列值綁定數據集中的字段,用圖表來展示數據集中的數據。
分類軸:就是圖表的橫軸,即x軸,表示數據是按照什麼分類顯示的;
系列名:系列就是圖表的縱軸,即y軸,系列名稱表示每個分類下數據是按照什麼順序顯示的;
系列值:就是每個系列的值;
彙總方式:對系列值的計算方式。
2.4 圖表樣式設置
· 標題設置
選中圖表,在設計器右側上方會出現圖表屬性表,選擇圖表屬性表-樣式>標題,增加圖表標題為:地區產品銷量,如下圖:
入門教程之圖表#
· 系列標籤設置
選擇圖表屬性表-樣式>標籤,勾選標籤,顯示出每個系列的值:
注:還可以給圖表設置其它圖表樣式。
入門教程之圖表#
2.5 保存模板
保存模板,預覽便可以看到效果如上圖。