还是关于TDBChart,据说series不支持文本字段! (100分)

  • 主题发起人 主题发起人 千中元
  • 开始时间 开始时间

千中元

Unregistered / Unconfirmed
GUEST, unregistred user!
想实现的功能和 http://www.delphibbs.com/delphibbs/dispq.asp?lid=659450类似,
在X轴(柱状图底部)显示服务人员的姓名,y轴显示该人员的服务数量(也就是柱状图的高度)
servicer是服务人员姓名字段

代码:
    DataModule1.adoqStatService.Close;
    DataModule1.adoqStatService.SQL.Clear;
    DataModule1.adoqStatService.SQL.Add('select count(id) as countnum,servicer from service_record where importTime>:importtime1 and importtime<:importtime2 group by Servicer');
    DataModule1.adoqStatService.Parameters.ParamByName('importtime1').Value := DateTimePicker1.DateTime;
    DataModule1.adoqStatService.Parameters.ParamByName('importtime2').Value := DateTimePicker2.DateTime;
     DataModule1.adoqStatService.Open;
  end;

  mySeries := TBarSeries.Create(Application);
  DBChart1.SeriesList.Clear;

  mySeries.Title := '服务统计';
  mySeries.ParentChart := DBChart1;
  mySeries.DataSource := DataModule1.adoqStatService;

  [b]mySeries.XValues.ValueSource := 'servicer';[/b]
------出错,提示是字段类型的问题
  mySeries.YValues.ValueSource := 'countnum';

  mySeries.Active := true;
 
没玩过:(

帮你顶一下:)
 
还是不用TdbChart了吧,没完过。如果使用TChart很方便的。
 
我知道了,原来你用的是TdbChart

不要用它,要用TChart,自己来控制显示的个数等,

TdbChart自然是那种结果,不是你的错。

:-)
 
series.datasource:=datasource1.dataset;
series.yvalues.valuesource:=datasource1.dataset.fields[0].fieldname;
series.xlablessource:=datasource1.dataset.fields[1].fieldname;
 
db的不支持文本字段
 
接受答案了.
 
后退
顶部