用TDBChart动态生成折线图刷新问题(30分)

  • 主题发起人 主题发起人 chenhe96
  • 开始时间 开始时间
C

chenhe96

Unregistered / Unconfirmed
GUEST, unregistred user!
代码大致如下:
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:Integer;
q:array[0..15]of TQuery;
s:array[0..15] of TLineSeries;
begin
...
for i:=0 to query2.RecordCount-1do
if query2.Fields[0].AsString<>'' then
begin
q:=TQuery.Create(nil);
q.DatabaseName:='LibData';
q.Close;
q.SQL.Text:='...';
q.Open;
DBChart1.View3D := False;
s:=TLineSeries.Create(self);
s.ParentChart := DBChart1;
s.yValues.ValueSource:='借阅量';
s.XLabelsSource:='类别';
s.Pointer.InflateMargins := True;
s.Pointer.Style := psDiamond;
s.Pointer.VertSize := 2;
s.Pointer.Visible := True;
s.DataSource:=q;
s.Title:=query2.Fields[0].AsString;
DBChart1.AddSeries(S);
query2.Next;
end;
当点击按钮时,可以动态生成折线图,可是第二次点击想进行刷新时,原来的线不消失,只是在原来的基础上增加了,即原来是5条线的,现在变成10条线了,这可怎么办啊?在动态生成折线之前,如何使原有的折线删除?请高手帮忙一下.
 
DBChart1.SeriesList.Clear
可以先清除掉,在for前面加上这句
 
to 2days
大哥,你给的办法不行啊,如果单单只用清除命令倒可以,可是清除过后,再点击按钮,还是老样子,原来的线还是有,好像DBChart有特别强的记忆功能.
各们大虾,想想办法...
 
问题解决,谢谢2days!
 
这是由于你做的按钮事件在进行统计时重复进行造成的,你把点击完的按钮设了false就行了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部