fastreport中文版教程之圖表?

fastreport中文版教程之圖表,FastReport允許使用者插入chart製表元件到報表中,這樣,在FastReport面板上的“TfrxCharObject” 元件就必須應用上。這個元件基於“TeeChart”動態庫,在delphi中需要將它包含在工程中。

工具/原料

fastreport

方法/步驟

FastReport允許使用者插入chart製表元件到報表中,這樣,在FastReport面板上的“TfrxCharObject” 元件就必須應用上。這個元件基於“TeeChart”動態庫,在delphi中需要將它包含在工程中。

我們通過以下示例先進行簡單說明,連線DBDemos中的countory表,資料內容如下:

fastreport中文版教程之圖表

在delphi環境中建立一個新的工程,新增“TTable”,“TfrxChartObject”,“TfrxDBData”,“TfrxReport”元件,並設定屬性值:

Table1:

DatabaseName = 'DBDEMOS'

TableName = 'country.db'

frxDBDataSet1:

DataSet = Table1

UserName = 'Country'

進入到報表設計器頁面,並連結設定資料來源。在報表的設計頁上放置一個“chart”元件,並調整其大小(18X200px)。雙擊元件,開啟元件的編輯器視窗。

fastreport中文版教程之圖表

char編輯器區域說明:

1:chart結構,一個chart包含有幾個製表系統。

2:元件監視器,顯示所選元件的屬性。

3:連結chart的series的資料屬性。

開始的介面顯示如上,首先新增一個或幾個series,在1區點選按鈕,新增一個Pie。

fastreport中文版教程之圖表

有許多可用的不同的型別的series。新增一個系列之後,3區被啟用。首先選擇資料來源,設定Label和pie欄位。

fastreport中文版教程之圖表

點選確定按鈕,關閉編輯器視窗,然後預覽。

fastreport中文版教程之圖表

還如何改良以下報表呢?首先,將資料按升序方式進行排序。再次進入編輯器,選擇要設定的series,在3區設定選項。

fastreport中文版教程之圖表

1、chart資料中數字的限制

上面的製表看上去非常擁擠,在chart中有特別多的值,而有些看不見。FastReport可以設定顯示資料的限制性。因此不被限制的值可以在製表中顯示。

在我們的示例中,包含18個數值,而最多友8個能顯示,鍵入編輯器,進行設定。

fastreport中文版教程之圖表

前幾個如果不等於0。則顯示在報表中,如果排序沒有設定,則採用預設排序。

結果如下:

fastreport中文版教程之圖表

2、設定

下面說明一下幾個有用的設定。這些屬性只能在物件監視器中進行設定。

以下幾個屬性可用:

——Gradient:設定背景填充顏色。

——Legend : 圖例

一下是series的屬性:

——ColorEachPoint:設定每個部分一種顏色

——ExplodeBiggest:設定最大部分分出。

——ValueFormat:數字監視格式。

3、指定數字製表

在上面的製表中,我們使用的是資料表中資料進行建立的圖表。還可以通過手動輸入進行製表。這對建立一個小的製表系統是非常方便的。

讓我們示範一下如何工作?在報表設計器中新增一個製表系統,進入編輯器,新增一個“bar chart”型別series,並設定屬性:

fastreport中文版教程之圖表

fastreport中文版教程之圖表

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. 圖表製作流程

圖表製作流程如下圖:

fastreport中文版教程之圖表

該章節我們以下圖所示的柱形圖為例,展示各個地區產品型別的銷量情況,為大家簡單的介紹下圖表的製作流程。

fastreport中文版教程之圖表

2. 示例

2.1 準備資料

在製作圖表前,需要先定義圖表的資料來源。

在上面的圖表製作流程中提到資料來源有兩種型別,資料集資料來源和單元格資料來源,本章節使用資料集作為資料來源,如果需要使用單元格資料來源,可檢視定義圖表單元格資料來源。

新建工作薄,新增資料集,SQL語句為SELECT * FROM [銷量],使用銷量表作為圖表的資料來源。

2.2 插入圖表並選擇圖表型別

圖表有兩種插入方式:單元格圖表與懸浮圖表,該例中我們以懸浮圖表為例,單元格圖表的插入方式請檢視單元格圖表。

點選工具欄中的插入>懸浮元素>插入圖表,彈出圖表嚮導,選擇圖表型別如柱形圖,如下圖:

注:插入圖表和選擇圖表型別一般性是在一起完成的。

fastreport中文版教程之圖表

2.3 定義圖表資料

選擇完圖表型別後,點選確定,返回報表主體介面,選中懸浮圖表,在報表主體右側上方的圖表屬性表中設定圖表屬性,選擇圖表屬性表-資料,設定柱形圖的資料,如下圖:

fastreport中文版教程之圖表

設定圖表資料,首先要選擇資料來源,前面我們新建了一個數據集ds1,這張圖表的資料來源於資料集資料,選擇好資料來源之後,為分類軸、系列名、系列值繫結資料集中的欄位,用圖表來展示資料集中的資料。

分類軸:就是圖表的橫軸,即x軸,表示資料是按照什麼分類顯示的;

系列名:系列就是圖表的縱軸,即y軸,系列名稱表示每個分類下資料是按照什麼順序顯示的;

系列值:就是每個系列的值;

彙總方式:對系列值的計算方式。

2.4 圖表樣式設定

· 標題設定

選中圖表,在設計器右側上方會出現圖表屬性表,選擇圖表屬性表-樣式>標題,增加圖表標題為:地區產品銷量,如下圖:

fastreport中文版教程之圖表

· 系列標籤設定

選擇圖表屬性表-樣式>標籤,勾選標籤,顯示出每個系列的值:

注:還可以給圖表設定其它圖表樣式。

fastreport中文版教程之圖表

2.5 儲存模板

儲存模板,預覽便可以看到效果如上圖。

相關問題答案