dbchart中的饼形图。无法显示。下面是代码。
      with adoquery2 do
      begin
        close;
        sql.clear;
        sql.add('select commonname,sum(val(DMAF)) as i  from 日粮修改表  where formula = '''+trim(combobox11.text)+''' group by commonname');
        open;
      end;
      dbchart2.Series[0].XLabelssource:='commonname';
      dbchart2.series[0].YValues.valuesource:='i';
      dbchart2.series[0].DataSource:=adoquery2;上面的代码有问题吗?为什么不显示成饼而是一条直线。愁死我了。希望高人指点。

解决方案 »

  1.   

    我已经N个月没编程了鬼才知道,这段程序是否正常
       with adoquery2 do 
          begin 
            close; 
            sql.clear; 
            sql.add('select commonname,sum(val(DMAF)) as i  from 日粮修改表  where formula = '''+trim(combobox11.text)+''' group by commonname'); 
            open; 
          end; 
        with dbchart2.Series[0] do
          begin  
            series1.Active:=false;   
            series1.DataSource:=query1;
            XLabelssource:='commonname'; 
            yValues.ValueSource:='i';   
            Marks.Style   :=   smsPercent;   
            Active:=true;
            DataSource:=adoquery2; 
           end;
      

  2.   

         series1.Active:=false;  
            series1.DataSource:=query1; 这两句就错了,你自己去改吧
      

  3.   

    我以前的:      Query1.Close;   
          Query1.SQL.Clear;   
          Query1.SQL.Add('select   sum(Tm)   as   nfield,Cjx   from   aaa   group   by   Cjx');   
          Query1.Open;   
          series1.Active:=false;   
          series1.DataSource:=query1;   
          series1.xLabelsSource:='cjx';   
          series1.yValues.ValueSource:='nfield';   
          Series1.Marks.Style   :=   smsPercent;   
          series1.Active:=true;
      

  4.   

    找到原因了。代码设置都没有问题。是因为我的dbchart太小了。为了显示周围的说明字段。所以把饼形图压的很小。解决办法还没有找到。http://topic.csdn.net/u/20091009/10/6cddfea8-1c92-405c-b4e8-4e49a943f529.html高手去帮我看看这个问题吧。解决办法。