关于DBCHART动态建立柱行图的问题,(single record)(50分)

C

coolbee

Unregistered / Unconfirmed
GUEST, unregistred user!
表结构
字段名: onemonth secondmonth thirdmonth
值: 100 200 300
100 150 400

select onemonth as '一月',secondmonth as '二月',thirdmonth as '三月' from tabel1
dbchart设定
datasource->single record->选择一月,二月,三月
图表形式
X轴:一月,二月,三月(如果是动态月份,比如4月、5月、6月就要动态实现)
Y轴:显示当前记录的三个月的值
这样使用一个series就可以实现三个柱行图了。
以上通过设置DBCHART的属性,在运行前通过设置可以在程序运行时实现。但是怎样通过程序运行时动态实现呢。属性太多了,找了好久
 
这个题目,应该有相关的帖子吧。这个是我以前贴的一个,
如何实现动态建立SERIES,同时改变形状。如折线,饼形
TAreaSeries
TBarSeries
TCircledSeries
TCustomBarSeries
TCustomSeries
TFastLineSeries
THorizBarSeries
TLineSeries
TPieSeries
TPointSeries
TSeriesPointer
总共有11个SERIES可供选择。
创建一个FORM,放DBCHART组件,TABLE组件,两个按钮。TABLE组件连接表,当然你也可以用QUERY等。
看以下例子:
procedure TForm1.Button1Click(Sender: TObject);// 曲线
var myseries:TLineSeries;
begin
dbchart2.SeriesList.Clear;
myseries:= TLineSeries.Create(self);
myseries.ParentChart:=dbchart2;
myseries.DataSource:=table1;
myseries.XValues.ValueSource:='yf';
myseries.YValues.ValueSource:='gz';
end;

procedure TForm1.Button2Click(Sender: TObject);// 柱状
var myseries:TBarSeries;
begin
dbchart2.SeriesList.Clear;
myseries:= TBarSeries.Create(self);
myseries.ParentChart:=dbchart2;
myseries.DataSource:=table1;
myseries.XValues.ValueSource:='yf';
myseries.YValues.ValueSource:='gz';
end;
其他的,看了这个,原理是一样的。
如果不用挂数据库,那,省略掉数据连接就可以了,可以手工指定横轴和纵轴的每个点的值。
这个在DELPHI6下,调试没有问题。
 
你这个方法我当然知道,不要看例子简单,DBCHART我也作过一些,但是上面我提的问题,你
写个程序试试,好象实现不了。可能是我说的柱行图误导了你,应该是线行图。
datasorce设定XVALUE,YVALUE行,但是动态设定SINGLE RECORD就不行了。如果以上问题解决可以再加分
 
回头好好看看,不好意思哦。
 
顶部