Teechart图表应用技术详解—第七章之如何与任意数据集相连

本教程转自屈景辉的Teechart应用技术详解——快速图表制作工具一书。接下来将会介绍第七章——数据库与图表组件。本文将会介绍第一节如何与任意数据集相连。

Steema公司和科技针对中国市场联合推出中文版TeeChart for .NET图表控件,一共汉化2000个词条(17000个单词),汉化文档35000个单词,包括控件设计时与运行时的界面汉化以及控件使用向导文档的汉化,总汉化90%以上!

TeeChart for .NET中文版让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。TeeChart for .NET中文版具有易上手,使用方便,稳定性好,性价比高,价格优惠等优势,并且针对Web应用提供无限制服务器分发授权方式,非常有利于产品集成。

TeeChart for .NET最新试用版


TeeChartpro不仅可以以手工( Manual)、随机( Random)、函数( Function)、文本文件( TextFile)、XML文件( XML File)、交叉表( CrossTab)的形式为序列( Series)提供数据源,当采用Delphi7数据控制组件板( Data Controls)上的组件TDBChart时,序列的数据源还可以是交叉表( CrossTab)、单个记录( Single Record)、摘要( Summary)、数据集( DataSet)等。 TDBChart源自TChart组件,它继承了TChart的所有特性,当图表的序列连接到TDBChart时,序列中就增加了Data Source属性,如下图所示。

序列属性在对象观察窗口中的显示

序列的数据源是由序列( Series)而不是由图表( Chart)确定的,一个数据库图表( TDBChart)中的多个序列可以访问不同的数据源。如果这些序列相互没有关联,可通过设定序列的ParentChart属性实现,也就是说通过ParentChart指定该序列隶属于哪个Chart, Parent Chart属性如下图所示。

创建数据集( Creating the Dataset)

TeeChart可以与不同类型的数据集组件建立连接,如 TTable、 TQuery、 TClientDataset、TADOTable、 TADOQuery等。在连接这些数据集组件时,有些需要一个数据库表名( TTable:TableName),有些需要查询的SQL串( TQuery:SQL)。

序列数据源与数据库表的连接( Connecting Series to a database Dataset)

  • 在程序设计阶段

当在图表编辑器中选择一个新的序列时,在Series选项卡中可以看到 Data Source选项卡,这时可以将指定的序列与下拉列表框( ListBox)中的一个数据库表相关联,此时需要对这个数据集给出一个新的定义,如下图所示。

数据源与序列属性关系的设定

当设置好有关属性以后,TDBChart在程序设计阶段看到的效果和程序执行阶段基本一致,如下图所示。

TDBChart在程序设计阶段的效果
  • 在程序运行阶段

TDBChart中序列的数据源不仅可以在程序设计阶段进行设定,也可以在程序运行锅中通过编写代码的方式进行设定。若设窗体中的数据库表组件为Table1,有Name和Amount两个字段,可以通过下列代码实现程序运行过程中的设定:

VarMySeries:TLineSeries://定义一个 TLineSeries类型的序列MySeriesbeginMySeries:=TLineSeries.Create( Self );//在内存中创建Myseries实例With MySeries dobegin     ParentChart:=DBChart1;//设定序列的ParentChart属性为DBChart1     DataSource:=Table1;//设定序列的DataSource为Table1     XLabelsSource:='Name';//设定序列的XLabelsSource属性为表中Name字段的值YValues.ValueSource:='Amount';//设定YValues.ValueSource的属性为Amount字段的值

应用实例

下图是该实例设计阶段界面,各组件属性设置如下表所示。值得注意的是组件CheckBox1的Checked属性与Table1的Active属性相对应,Checked属性的True与False确定了数据库表Table1的打开与关闭。

组件 属性 设定值 说明
TDBChart Name DBChart1 图表组件
TTable Name Table1 表组件名称
DatabaseName DBDEMOS 数据库别名,Delphi自带
TableName animals.dbf 数据库表明,有关动物表
Active true 数据库表初始处于打开状态
TBarSeries Name Series1 序列组件名称
Datasource Table1 设置序列的数据源是Table1
ParentChart DBChart1 表示该序列属于DBChart1组件
TCheckBox Name CheckBox1 用于控制Table1的打开和关闭
Checked true
TButton Name Button1 该按钮用于在程序运行时增加序列
Caption &A.增加序列

为了在程序运行期间能够控制数据库表的打开与关闭,需要在 CheckBox1的OnClick事件中加入下列代码:

Table1.Active:=CheckBox1.Checked;

当需要动态即程序运行过程中增加序列时,可在按钮 Button的OnClick事件中加入上面在程序运行阶段中的代码,当单击该按钮后程序界面变换为下图所示的外观,可以看出在图表组件中增加了一个TLineSeries对象MySeries。

运行期间增加序列后窗口外观

相关资料推荐:

上一章:以数据形式导出

下一章:按组摘要与排序

Teechart 2019资源合集

=====================================

TeeChart for .NETTeeChart for JavaScript/HTML5TeeChart for Xamarin.Android等均已加入在线订购,现在抢购可立享优惠!

关注慧聚IT微信公众号了解产品的最新动态及最新资讯。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年11月27日
下一篇 2019年11月27日

相关推荐

发表回复

登录后才能评论