轉帖|使用教程|編輯:況魚杰|2020-01-14 10:25:23.953|閱讀 463 次
概述:本教程轉自屈景輝的Teechart應用技術詳解——快速圖表制作工具一書。接下來將會介紹第七章——數據庫與圖表組件。本文將會介紹第六節:主明細式圖表應用。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
Steema公司和慧都科技針對中國市場聯合推出中文版TeeChart for .NET圖表控件,一共漢化2000個詞條(17000個單詞),漢化文檔35000個單詞,包括控件設計時與運行時的界面漢化以及控件使用向導文檔的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學習上沒有任何語言障礙,至少可以節省30%的開發時間。TeeChart for .NET中文版具有易上手,使用方便,穩定性好,性價比高,價格優惠等優勢,并且針對Web應用提供無限制服務器分發授權方式,非常有利于產品集成。
主明細式圖表應用( Master- Detail)
當需要根據主表的選擇,在副表中查找與主表相關的信息時,采用主一明細方式查詢是一個很好的選擇,這時如果能將查詢結果以圖表形式表示那就更是錦上添花了。下面以一個企業備有客戶的基本信息和經濟往來賬目,需要根據主表中某一客戶的基本信息,以圖表和表格的形式顯示與該客戶的經濟往來情況為例,介紹如何實現以主一明細表方式進行圖表查詢顯示。
實例組件屬性設置
利用Delphi7自帶的數據庫實例演示主一明細功能的實現,用隨Delphi7一起安裝的BDE( Borland Database Administrator)管理員,可以看到有別名為 DBDEMOS的數據庫,提供了一些演示數據,為敘述方便以DBDEMOS數據庫中的客戶表Customer.db和定單表Orders.db為例說明。
實例設計階段的界面如下圖所示,組件屬性設置如下表所示。
組件
屬性
設定值
說明
TDBChart
Name
DBChart1
圖表組件
TAreaSeries
Name
Series1
序列組件名稱
Datasource
Table2
序列的數據源是Table2(結果)
ParentChart
DBChart1
表示該序列屬于DBChart1組件
TTable
Name
Table1
表組件名稱
Datasource
DBDEMOS
數據庫別名, Delphi自帶數據庫
TableName
Customer.db
有關客戶基本信息的表
TDataSource
Name
DataSource1
為 DBNavigator1提供數據源
DataSet
Table1
TTable
Name
Table2
表組件名稱
DatabaseName
DBDEMOS
數據庫別名, Delphi自帶數據庫
TableName
Orders.db
數據庫表名,有關定單信息的表
MasterSource
DataSource1
控制Table2的主源
MasterFileds
CustNo
調用Field Link Designer對話框
IndexName
CustNo
上步完成后自動填寫
TDBGrid
Name
DBGrid1
用于顯示主表(客戶信息)
DataSource
DataSource1
TDBGrid
Name
DBGrid2
這個柵格顯示明細,由主表控制,不
用設數據源 DataSource
TDBNavigator
Name
DBNavigator1
數據導航
DataSource
DataSource1
Series1
DataSource
參見摘要排序應用圖3
參見下面的序列的數據源設置
TButton
Name
Nutton2
退出按鈕
Caption
&E.退出
序列的數據源設置
當在圖表編輯器中設置序列的數據源屬性時,按下圖所示進行設置。注意,序列的數據來自Table2,但實際顯示時是要滿足特定條件的數據才能顯示, Customer.CustNo= Orders.CustNo,Table2中不滿足這個條件的數據是不顯示的,這就是主一明細表顯示的奧妙之處。
組件Table2的屬性設定
實例中Table1、Table2組件的Database和TableName屬性設置按上表說明分別作為主表(客戶基本信息)和副表(定單信息)進行設置。Table2組件的MasterSource和MasterFields屬性設置是關鍵。單擊對象觀察窗口,按下列步驟設置:
當利用該對話框建立了主一明細表之間的關聯之后,隨著主表記錄指針的移動,圖表組件顯示的內容會隨之發生變化。
編寫代碼
DBChart1.RefreshData;使得主表記錄指針移動時不斷刷新 DACha的數據,從而實現圖表顯示的內容不斷地更新。
Table1.Active:=CheckBox1.Checked; Table2.Active:=CheckBox1.Checked;這個例子使用了短短的幾行代碼就實現了非常強大的功能,實例的運行效果如下圖所示。
相關資料推薦:
上一章:摘要排序應用
下一章:交叉表圖表應用
=====================================
現TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現在搶購可立享優惠!
關注慧聚IT微信公眾號???,了解產品的最新動態及最新資訊。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: