TeeChart Pro VCL/FMX教程(八):訪問數(shù)據(jù)庫(下)
TeeChart Pro VCL/FMX是一款主流的圖表制作工具。提供了數(shù)百種用于可視化的2D、3D圖形樣式、56種數(shù)學(xué)、統(tǒng)計和金融函數(shù),以及不限數(shù)量的坐標(biāo)軸和30種調(diào)色板組件。TeeChart Pro VCL/FMX教程將會以連載的形式持續(xù)為大家?guī)?a href="http://www.xiangyinys.com/product/608/download" target="_self" style="color: rgb(31, 73, 125);">TeeChart Pro VCL/FMX的使用方法。
本篇教程為大家?guī)淼氖?span style="color: rgb(31, 73, 125);">TeeChart Pro VCL/FMX中數(shù)據(jù)庫的訪問這一節(jié),主要分為以下幾個部分:
在運行時連接到TData組件
擴展功能
Single Record
摘要分組數(shù)據(jù)
Events
OnProcessRecord事件
這一節(jié)內(nèi)容比較豐富,所以分為上下兩篇,可以點擊目錄題目進行查看。
介紹
在運行時連接到TData組件
上述設(shè)計時步驟可以用幾行代碼以編程方式再現(xiàn)。這使您可以更自由地控制數(shù)據(jù)庫操作。
在新項目和新表單上重復(fù)上面的前3個步驟。
每個Series都有DataSource屬性,它確定數(shù)據(jù)庫值的來源(Table or Query),以及YValues.ValueSource和LabelsSource屬性,以指定我們要繪制的字段。
LabelsSource和YValues.ValueSource屬性的語法是:
Series1.YValues.ValueSource := 'SALARY'; Series1.XLabelsSource := 'LASTNAME';
Series DataSource的語法是:
Series1.DataSource := Table1; //or Series1.DataSource := Query1;
建議您按順序設(shè)置上述屬性。首先設(shè)置XLabelsSource和YValues.ValueSource,然后設(shè)置DataSource屬性。
如果數(shù)據(jù)庫值已更改,并且您想要refresh連接并再次檢索值,則應(yīng)執(zhí)行以下操作:
Series1.CheckDataSource;
CheckDataSource方法將強制Series再次檢索所有記錄。
所有系列都有XValues.ValueSource屬性。此屬性僅用于XY圖表(當(dāng)您為每個點設(shè)置X坐標(biāo)時)。如果TeeChart無法找到數(shù)據(jù)源,或者無法打開您指定的表或SQL Query,則會引發(fā)錯誤。請記住將數(shù)據(jù)源設(shè)置為Active。
擴展功能
Single Record
Single Record數(shù)據(jù)圖表允許從數(shù)據(jù)源記錄中水平檢索數(shù)據(jù)。 從TeeChart Editor數(shù)據(jù)源組合框中選擇Single Record選項。
例:
上面的定義從TeeChart示例Stock表中獲取第一條記錄,并將Open,High,Low和Close值繪制為一個系列的不同點。
摘要分組數(shù)據(jù)
TeeChart數(shù)據(jù)集中連接檢索的數(shù)據(jù)可以按數(shù)據(jù)集的不同字段來分組,這是為了通過所選字段創(chuàng)建摘要。 從TeeChart Editor數(shù)據(jù)源組合框中選擇Summary
例:
上面的選擇繪制了Bar Series of Delphi / C ++ Builder的Orders表的AmountPaid字段,再按客戶編號CustNo對結(jié)果進行分組。
如果數(shù)據(jù)集包含日期時間字段,您可以從第一個Group by組合框中選擇分組條件作為DateTimeStep。 以下使用Saledate將按季度的平均AmountPaid分組。
例:
代碼如下所示:
With Series1 do Begin DataSource:=Table1; YValues.ValueSource:='#AVG#AmountPaid'; XLabelsSource:='#QUARTER#SaleDate'; end;
Events
OnProcessRecord事件
TChart控件提供了一個事件,每次檢索記錄并將其添加到Series時都會調(diào)用該事件。此事件是OnProcessRecord,并帶有以下語法:
procedure TForm1.DBChart1ProcessRecord(Sender: TCustomDBChart; DataSet: TDataSet); begin end;
您可以使用此事件引發(fā)靜默Abort以停止檢索數(shù)據(jù)。
TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android均已加入在線訂購,現(xiàn)在搶購可立享特別優(yōu)惠?。?!
關(guān)注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。