我现在有一个下面的数据表:course
name    course
张三     数学
张三     英语
张三     计算机
李四     数学
李四     英语
李四     计算机
李四     物理
王五     物理
王五     数学
查询在dbgrid中显示的数据如下:
 name   数学    英语     计算机   物理   总计
张三    1       1           1      0     3  
李四    1       1           1      1     4 
王五    1       0           0      1     2  
现在我的问题是当光标指向那一条数据时,在DBChart中显示该条数据的图形,如上面的数据:当光标指向了张三这条数据时则在DBChart中显示张三课程的相关课程供应信息;
在显示图形时,y轴为课程数,X轴为课程类型;
要实现以上功能应该怎么做还请各位高手多多指点

解决方案 »

  1.   

    写一个查询sql语句把你的表变成:
    name    course     count
    张三     数学        1
    张三     英语        1
    张三     计算机      1
    张三     物理        0然后:
    BarSeries. DataSource:=AdoQuery;
    BarSeries.YValues.ValueSource:=course;
    BarSeries.XLabelsSource:=count;好像是这样写吧。
    gz~~
      

  2.   

    你到MS-SQL Server 数据库开发里面找一找关于行列转换的问题,然后把你的course表转换为上面我说说的形式.这不跟你说的一样吗?
      

  3.   

    moqiyayan(万俟雅言) ,问题是我已经在DBGrid实现了上面我说的那种情况的显示,也应该就是你所说的行列转换吧,但我现在不知道怎样在DBChart中用图形的方式来显示数据,也就是我上面所说的那种情况了
      

  4.   

    将TDBChart的DataSource设为Single Reocrd.
      

  5.   

    我觉得应该在你选中张三哪一条记录后,将张三传到另外一个查询QueryShow中.
    而这个QueryShow查询后的结果应该是:
    name    课程类型    课程数
    张三     数学        1
    张三     英语        1
    张三     计算机      1
    张三     物理        0
    BarSeries.DataSource := QueryShow;
    BarSeries.YValues.ValueSource:=课程类型;
    BarSeries.XLabelsSource:=课程数;关于DBChart如何显示数据,delphi里面有个自带的demo,TeeChart很详细的.
      

  6.   

    wizardqi(男巫) ,你说的那样设不可以啊
      

  7.   

    moqiyayan(万俟雅言),我来看看, 你这个思路还是可以的不过不知道能不能实现