我要在一个DBChart上动态现实多条线,但是动态增加了几个Series以后,可是线段的Y轴总是显示的是最后增加的高度,怎么回事呀?大哥们帮帮忙!
self.DBChart1.SeriesList.Clear;
for i:=0 to self.CLBT_Code.Items.Count - 1 do
begin Series:=TLineSeries.Create(Application);
self.DBChart1.AddSeries(series);
if self.CLBT_Code.Checked[i] then
begin
ADOQuery3.Close;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('select Sum(W_Site) as SDSW,' +
'Substring(Convert(char(19),In_Date,120),9,8)
as SD from Water_Site where t_code='
LeftStr(CLBT_Code.Items[i],3) +
' and In_Date between ''' + FormatDateTime
('yyyy-mm-dd',B_Date) + ' 00:00:00' +
''' and ''' + FormatDateTime('yyyy-mm- dd',IncDay(E_Date)) + ' 00:00:00'''+
' Group by In_Date Order by In_Date' ); ADOQuery3.Open;
Series.DataSource:=ADOQuery3;
Series.XLabelsSource:='SD';
Series.YValues.ValueSource:='SDSW';
series.RefreshSeries; end;
DBChart1.RefreshData;
end;
self.DBChart1.SeriesList.Clear;
for i:=0 to self.CLBT_Code.Items.Count - 1 do
begin Series:=TLineSeries.Create(Application);
self.DBChart1.AddSeries(series);
if self.CLBT_Code.Checked[i] then
begin
ADOQuery3.Close;
ADOQuery3.SQL.Clear;
ADOQuery3.SQL.Add('select Sum(W_Site) as SDSW,' +
'Substring(Convert(char(19),In_Date,120),9,8)
as SD from Water_Site where t_code='
LeftStr(CLBT_Code.Items[i],3) +
' and In_Date between ''' + FormatDateTime
('yyyy-mm-dd',B_Date) + ' 00:00:00' +
''' and ''' + FormatDateTime('yyyy-mm- dd',IncDay(E_Date)) + ' 00:00:00'''+
' Group by In_Date Order by In_Date' ); ADOQuery3.Open;
Series.DataSource:=ADOQuery3;
Series.XLabelsSource:='SD';
Series.YValues.ValueSource:='SDSW';
series.RefreshSeries; end;
DBChart1.RefreshData;
end;
要不然就就用多个series试一试