fastreport?

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

工具/原料

fastreport

方法/步驟

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

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

fastreport c#入門教程之圖表

入門教程之圖表#

在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的數據屬性。

fastreport c#入門教程之圖表

入門教程之圖表#

開始的界面顯示如上,首先添加一個或幾個series,在1區點擊按鈕,添加一個Pie。

fastreport c#入門教程之圖表

入門教程之圖表#

有許多可用的不同的類型的series。添加一個系列之後,3區被激活。首先選擇數據源,設置Label和pie字段。

fastreport c#入門教程之圖表

入門教程之圖表#

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

fastreport c#入門教程之圖表

入門教程之圖表#

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

fastreport c#入門教程之圖表

入門教程之圖表#

1、chart數據中數字的限制

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

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

fastreport c#入門教程之圖表

入門教程之圖表#

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

結果如下:

fastreport c#入門教程之圖表

入門教程之圖表#

2、設置

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

以下幾個屬性可用:

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

——Legend : 圖例

一下是series的屬性:

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

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

——ValueFormat:數字監視格式。

3、指定數字製表

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

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

fastreport c#入門教程之圖表

入門教程之圖表#

fastreport c#入門教程之圖表

入門教程之圖表#

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 c#入門教程之圖表

入門教程之圖表#

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

fastreport c#入門教程之圖表

入門教程之圖表#

2. 示例

2.1 準備數據

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

在上面的圖表製作流程中提到數據來源有兩種類型,數據集數據源和單元格數據源,本章節使用數據集作為數據源,如果需要使用單元格數據源,可查看定義圖表單元格數據源。

新建工作薄,添加數據集,SQL語句為SELECT * FROM [銷量],使用銷量表作為圖表的數據來源。

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

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

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

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

fastreport c#入門教程之圖表

入門教程之圖表#

2.3 定義圖表數據

選擇完圖表類型後,點擊確定,返回報表主體界面,選中懸浮圖表,在報表主體右側上方的圖表屬性表中設置圖表屬性,選擇圖表屬性表-數據,設置柱形圖的數據,如下圖:

fastreport c#入門教程之圖表

入門教程之圖表#

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

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

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

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

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

2.4 圖表樣式設置

· 標題設置

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

fastreport c#入門教程之圖表

入門教程之圖表#

· 系列標籤設置

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

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

fastreport c#入門教程之圖表

入門教程之圖表#

2.5 保存模板

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

相關問題答案