Teechart图表应用技术详解—第七章之交叉表图表应用

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

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

TeeChart for .NET最新试用版


交叉表图表应用(Cross Tab Charts)

所谓交叉式图表是指在程序运行中可以对一个数据库表中的两个字段的值进行分组求和或计数,利用该功能使得图表的显示动态交叉进行。这里仍以Delphi7自带的数据库DBDEMOS的定单表Orders.db为例说明。

实例组件属性设置

交叉式图表演示设计阶段界面

交叉式图表演示有关属性

组件 属性 设定值 说明
TDBChart Name DBChart1 图表组件
TBarSeries Name Series1
Datasource DBCrossTabSource1 序列的数据源是由组件DBCrossTabSource提供
ParentChart DBChart1 表示该序列属于DBChart1组件
TTable Name Table1 数据库别名,Delphi自带数据库
DatabaseaName DBDEMOS
TableName Orders.db 有关定单信息的表
TDataSource Name DataSource1

为DBNavigator提供数据源

为DBGrid提供数据源

DataSet Table1
TDBGrid Name DBGrid1 用于显示定单信息
DataSource DataSource1
TDBNavigator Name DBNavigator1 数据导航
DataSource DataSource1
Series1 DataSource 参看下图
TDBCrossTableSource Name DBCrossTableSource1
DataSet Table1 交叉源
Formula gfSum 计算公式
GroupField Terms 分组字段
LabelField ShipVIA 序列显示时横轴标签
ValueField AmountPaid 计算使用字段
Series Series1 显示计算结果的序列
Active false 交叉源初始状态为关闭
TRadioGroup Name RadioGroup 计算选择(计数、求和)
Item 计数,求和
ItemIndex 1
TCheckBox Name CheckBox1 打开数据库
Checked false
TButton Name Nutton1 退出按钮
Caption &E.退出


在设计阶段设置Data Source

在对象观察窗口设置

在Object Inspector窗口设置交叉表属性

编写代码

在CheckBox1组件的OnClick事件中根据选择确定DBCrossTabSource1的打开与关闭,且处于关闭状态时计算公式选择框和交换按钮Button是不可用的,代码如下:

procedure TForml.CheckBox1Click(Sender: TObject);beginDBCrossTabSource1.Active:=CheckBox1, Checked;RadioGroup1.Enabled:=CheckBox1.Checked;Button2.Enabled:=CheckBox1.Checked;end;

在RadioGroup1组件的OnClick事件中根据选择确定分组计算公式,在公式改变后立即激活组件起到刷新数据的效果:

procedure TForm1.RadioGroup1Click(Sender:TObject);begincase RadioGroup1.ItemIndex of0:DBCrossTabSource1.Formula:=gfCount;1:DBCrossTabSource1.Formula:=gfSum;end;DBCrossTabSource1.ValueField:='AmountPaid';DBCrOssTabSource1.Active:=TRUE;

在Button按钮的OnClick事件中加入下列代码,用于实时切换分组方式。由于采用按钮进行切换,所以需要设置一个逻辑变量进行区分,代码如下:

procedure TForm1.Button2Click( Sender:Tobject);beginif not bswap thenbeginDBCrossTabSource1.GroupField:='Terms';DBCrossTabSource1.LabelField:='ShipVIA';bswap:=not bswap;endelsebeginDBCrossTabSource1.GroupField:='ShipVIA';DBCrossTabSource1.Labeleield:='Terms';bswap not bswap;end;DBCrossTabSource1.ValueField :='AmountPaid';DBCrossTabSource1.Active:=TRUE;end;

本例运行阶段的界面如图1所示,图2是求和计算分组字段交换后的效果图。

图1:

交叉式图表应用举例运行时的效果

图2:

求和计算时分组字段交换后的效果比较

相关资料推荐:

上一章:主明细式图表应用

下一章:TeeChart Pro ActiveX组件的安装

Teechart 2019资源合集

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

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

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月12日
下一篇 2020年1月12日

相关推荐

发表回复

登录后才能评论