因工作需要,需开发一个服装行业的小程序,因此涉及到了多尺码,多颜色的问题.
在网上找了许多资料后,我发现用交叉表的形式实现起来比较清楚直观一下,数据库结构也比较好规划.现在碰到个问题就是: DBGRID实现象交叉表的样子,方便用户的输入,不知道有什么好的解决办法.类似下面格式
服装款式 颜色  XL M XXL L
AAA       红   1  2  3
BBB       黄   1   1  1  1
CCC       蓝   2   2  2  2
DDD       白   4  5  5 6其中数量的地方用DBGRID直接在网格内输入各位有什么可以提示,或者推荐一下有什么控件能实现上面的功能,或者有没有例子可以参考一下的,谢谢了!

解决方案 »

  1.   

    从VCL版块移到这里,发现了迟延哦!!从转移成功的提示到在数据库相关显示贴子,发现有些延迟,刷新了好几遍才出现的
      

  2.   

    select 款式,颜色,sum(XL_count) XL,sum(M_Count) M ......from
    (
    select 款式,
           颜色,
           case
             when 尺寸 = 'XL' then
              count(尺寸)
             else
              0
           end XL_count,
           case when 尺寸='M' then
              count(尺寸)
           else
              0
           end M_Count
           ..........
    from   表
    group  by 款式,
              颜色,
              尺寸
    )
    group by 款式,颜色
      

  3.   

    表结构应该是这个样子款式,颜色,尺寸
    --------------
    aaa,红,X
    aaa,绿,M
      

  4.   

    如果只是想记录数量,而且尺寸一栏是固定值得话
    也可以直接建一个表服装款式,颜色,XL,M,XXL,L
    ---------------------------------
    AAA       红   1  2  3
    BBB       黄   1   1  1  1
    CCC       蓝   2   2  2  2
    DDD       白   4  5  5 6
      

  5.   

    相关表有:尺码表,颜色表,商品目录表
    商品目录表的结构跟您说的相同.这是一个查询的例子.
    问一下是否有输入的方法,在DBGRID的网格中,按上述方法输入sdzeng(大头鸟)有相关的源码例子吗?
      

  6.   

    可以使用STRINGGRID,自己写代码进行控制。BTW:服装里每个产品的尺码解释都不同,这样的设计可能会有些问题, 一般还有一个尺寸字段来进行解释吧。
      

  7.   

    用case when then。。
    能实现的
    俺做过了!!