从数据库中查询出来的是如下格式(用adoquery) 
月份   类型    数据 
  1    变动    10 
  1    固定    20 
  2    变动    11 
  2    固定    12 
…… 
 12    变动    10 
 12    固定    10 
现在想在dbgrid中把上面的数据安如下格式显示 
      1    2  3 ……  12 
变动  10  11  20      10 
固定  20  12  20      10 
dbgrid能实现吗?怎样实现,如果dbgrid不能实现那用什么控件能实现,说一下思路,谢谢大家了?

解决方案 »

  1.   

    这个你需要在查询语句上入手,是一个标准的行列转换查询,和dbgrid没有关系,你的dbgrid只需要动态绑定你的查询结果列就可以了
      

  2.   


    怎样写行列转换查询语句呢?还有grid的左边怎样加入变动和固定两项呢?
      

  3.   

    access的数据库用adoquery 支持
    Declare @sql varchar(8000)
    Set @sql = 'Select Name as 姓名'
    Select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result else 0 end) ['+Subject+']'
    from (select distinct Subject from cj) as cj  
    Select @sql = @sql+' from cj group by name'
    Exec (@sql)
    这样的语句吗?