+ -
当前位置:首页 → 问答吧 → 为什么我用DBCHART只能显示一条记录

为什么我用DBCHART只能显示一条记录

时间:2010-02-02

来源:互联网

DBChart1.Series[0].DataSource:=DataSource1;
DBChart1.Series[0].XLabelsSource:='name';
DBChart1.Series[0].YValues.ValueSource:='value';

这样写后图表中只显示了一条记录.也就是DATASOURCE1中的当前记录.是不是还要用循环一条条记录添加?请各位大侠们指教~

作者: magicspiral   发布时间: 2010-02-02

看看你数据集中没准就是一条记录呢,或者设置了每页显示数量

作者: bdmh   发布时间: 2010-02-02

数据集中不是一条记录,我故意用DBGRID看,都能显示的,并且在DBGRID上选,DBCHART上的记录还会变.

作者: magicspiral   发布时间: 2010-02-02

如果不用动态设置的办法,手工设置DATASOURSE,还是可以显示的.太奇怪了.有人可以指点么?

作者: magicspiral   发布时间: 2010-02-02

DBChart1.Series[0].DataSource:=DataSource1; 
  你这个0 不就是 写着第一条数据源的值. 下面没其他的啊..怎么可能会有多条?

作者: bafhv04   发布时间: 2010-02-08

先谢谢4楼的回复,但冒昧地问一句,您真的用过DBChart么?我理解的是一个DBCHART有多个图表,Series[0]是第一个图表.如果是我理解错了我先道歉.

作者: magicspiral   发布时间: 2010-02-09

这是偶查到的一些信息。。我也不懂这个控件 一起学习


http://blog.csdn.net/genispan/archive/2008/10/23/3132749.aspx

作者: o0Bad_Boy0o   发布时间: 2010-02-09

我想是不是因为你连的是datasource,然后你datasource指定的一条,对应的dbchart也显示这一条,如果你DBChart1.Series[0].DataSource在Data Source页的下拉框中选择'DataSet',再在dataset中选对应的查询组件(ADOQuery1),指定语句就会显示全部了?

作者: WangYuanfei12345   发布时间: 2010-02-10

WangYuanfei12345,使用控件设置我是会的,我要求的效果是在程序中动态更换DATASOURSE.

作者: magicspiral   发布时间: 2010-04-03

7楼 WangYuanfei12345, 回答的完全正确.
你写成:DBChart1.Series[0].DataSource:= Query1(clientdataset1).这样就行了。

作者: seken   发布时间: 2010-08-17

动态创建DBChart1.Series 来显示数据

作者: zxf_feng   发布时间: 2010-08-17

引用楼主 magicspiral 的回复:
DBChart1.Series[0].DataSource:=DataSource1;
DBChart1.Series[0].XLabelsSource:='name';
DBChart1.Series[0].YValues.ValueSource:='value';

这样写后图表中只显示了一条记录.也就是DATASOURCE1中的当前记录.是不是还要用循环一条条记录添加?请各位大侠们指……


楼主,这个是因为数据源的问题
DBChart1.Series[0].DataSource:=DataSource1;改为
DBChart1.Series[0].DataSource:=ADOQuery1;
这样就搞定了,数据源不能直接指定DataSource,得用ADOQuery,如果不是就转换成ADOQuery即可。

作者: wgxis   发布时间: 2011-12-17

Delphi(Pascal) code

      with Form_Count.DBChart1 do
      begin
        SeriesList.Clear;
        AddSeries(Series1);
        Series[0].DataSource := ADOQuery1;
        Series[0].XLabelsSource := '工作单位';
        Series[0].YValues.ValueSource := '金额合计';
        Series[0].Active := True;
      end;

作者: ADSLAN   发布时间: 2011-12-17