我想在设计的时候不添加Series,而是在程序里面根据需要添加,可是在程序中,怎么实现在设计时候的Edit Chart...的功能,要求最简单的就可以了!谢谢大家关注!

解决方案 »

  1.   

    uses Editchar;procedure TForm1.Button1Click(Sender: TObject);
    begin
      EditChart(self, chart1)
    end;//如果是delphi6.0的话,就必须引用一个运行时包;
    project --> option --> packages --> build with runtime pages --> 增加teeui;
      
      

  2.   

    参考一下:
    procedure TForm_SJFX_XSDDFX.ShowChart(itype: integer; Dset: TQuery; xlabel,
      yvalues: string);
    var
      vPie: TPieSeries;
      vBar: TBarSeries;
      vLine: TLineSeries;
      i: integer;
    begin
      while DBChart.SeriesCount > 0 do DBChart.SeriesList[0].Destroy;
      DBChart.Title.Text.Clear;
      DBChart.Title.Text.Add(ChartTitle);
      DBChart.LeftAxis.Title.Caption := yvalues;
      DBChart.BottomAxis.Title.Caption := xlabel;
      //
      if itype = 0 then
      begin
        vBar := TBarSeries.Create(nil);
        vBar.ParentChart := DBChart;
        vBar.DataSource := Dset;
        vBar.YValues.ValueSource := yvalues;
        vBar.XLabelsSource := xlabel;
        vBar.Marks.Style := smsValue;
        DBChart.AddSeries(vBar);
      end
      else if itype = 2 then
      begin
        vPie := TPieSeries.Create(nil);
        vPie.ParentChart := DBChart;
        vPie.DataSource := Dset;
        vPie.YValues.ValueSource := yvalues;
        vPie.XLabelsSource := xlabel;
        vPie.Marks.Style := smsLabelPercent;
        DBChart.AddSeries(vPie);
      end
      else
      begin
        vLine := TLineSeries.Create(nil);
        vLine.ParentChart := DBChart;
        vLine.DataSource := Dset;
        vLine.YValues.ValueSource := yvalues;
        vLine.XLabelsSource := xlabel;
        vLine.Marks.Style := smsLabelPercent;
        DBChart.AddSeries(vLine);
      end;
      

  3.   

    //改变类型
    var
       aseries:TchartSeries;
    begin
         aseries:=chart1.SeriesList.Series[0];
         ChangeSeriesType(aseries,TBarSeries);
    end;