把数据库中几个表数据的曲线全显示在一个Tchart中,随着数据库中表的数据的调入自动创建series【i】,并且每条线的颜色不同。

解决方案 »

  1.   


    var
      s:TLineSeries;
    begin
      s := TLineSeries.Create(Self);
      //这里可以对s进行数据连接设置
      Chart1.AddSeries(s);
    end;
      

  2.   


    //根据表个数创建曲线
    var
      ls:TLineSeries;
      i:integer;
    begin
      for i:=1 to 5 do
      begin
        ls:=TLineSeries.Create(Self);
        ls.Name:='series'+inttostr(i);
        self.Chart1.AddSeries(ls);
      end;
    end;
    //读取表并向对应曲线中添加,并用不同颜色表示
    adoquery1.close;
    adoquery1.connection:=self.adoconnection1;
    adoquery1.sql.clear;
    adoquery1.sql.add(select * from table1);
    adoquery1.open;
    while not adoquery1.eof do
    begin
      i:=adoquery1.fieldbyname('cou').asinteger;
      s:=aduqery1.fieldbyname('mon').asstring;
      self.chart1.series[0].add(i,s,self.ColorBox1.Colors[0]);
    end;adoquery1.close;
    adoquery1.connection:=self.adoconnection1;
    adoquery1.sql.clear;
    adoquery1.sql.add(select * from table2);
    adoquery1.open;
    while not adoquery1.eof do
    begin
      i:=adoquery1.fieldbyname('cou').asinteger;
      s:=aduqery1.fieldbyname('mon').asstring;
      self.chart1.series[1].add(i,s,self.ColorBox1.Colors[1]);
    end;