例如:DBGrid要显示的是定单信息:
通常情况下标题栏是显示一个表的三个字段名:
颜色       尺码      数量 因为一个尺码有多个颜色,同一种颜色也有多个尺码,所以我想在DBGrid里面以以下方式显示:
          颜色1(值) 颜色2(值) 颜色3(值)  
尺码1(值)  数量1     数量3     数量4
尺码2(值)  数量2     数量5     数量6
.....
以上DBGRID里面显示的全是同一个表里面的值,标题栏没有字段名,要显示颜色的字段值.
多谢指教!!!!!!!!   
在线等!!急!!
分不够开贴再加!!

解决方案 »

  1.   

    可以用sql语句进行行列转换,
      

  2.   

    把DBGRID.Columns[i].Title.Caption 赋上你需要的值就好了
      

  3.   

    To lifengliu2000(筱蔷) 
    你的方法好像不行啊To meiqingsong(阿飛) 
    这样的SQL语句没有写过,可以指点一下吗?
      

  4.   

    declare @s varchar(8000)
    set @s=''
    select @s=@s+','+颜色+'=sum(case 颜色 when '''+颜色+''' then 数量 else 0 end)'
    from(select distinct 颜色 from test)a
    print @s
    exec('select 尺码'+@s+' from test group by 尺码')
      

  5.   

    想再请教:怎么样将数据放到DBGRID指定的位置,既将数据放到指定的某行某列!!
      

  6.   

    DBGRID是数据感知控件,
    通过datasource连接数据集,
    显示数据集中的数据,
    没见过你这么用的
      

  7.   

    dbgrid1.Columns.Items[0].FieldName:='这里是填写你要写的值';
    直接用不要添加Column
      

  8.   

    测试数据
    select * from test
    order by 尺码
    颜色                       尺码                                 数量
    白                   20                             13
    黑                   20                             12
    红                   20                             13
    红                   21                             13
    黑                   21                             12
    白                   21                             13
    蓝                   21                             13
    红                   23                             13
    白                   23                             13
    黑                   23                             12
    declare @s varchar(8000)
    set @s=''
    select @s=@s+','+颜色+'=sum(case 颜色 when '''+颜色+''' then 数量 else 0 end)'
    from(select distinct 颜色 from test)a
    print @s
    exec('select 尺码'+@s+' from test group by 尺码')尺码       白      黑       红      蓝 
    20         13 12 13 0
    21         13 12 13 13
    23         13 12 13 0
      

  9.   

    To meiqingsong(阿飛) :
    看了你的代碼,我才發現我學的東西真是太少了,你已經完全明白了我的意思.
    但你這樣的写法我也没见过,搞不懂,不知道该怎么用到Delphi里面,
    你能详细的教我在Delphi里面怎么实现吗?
    小弟不胜感激!!!!!!!
      

  10.   

    不需要用存储过程,
    直接用ADOQuery查询即可
      

  11.   

    唉!楼主看样子用的不是MSSQL...