DBGrid显示ADOQuery里的数据,其中有 A,B 两个列都关联 F 字段,现在想实现:当F值为正时,A列显示F值,B列不显示
当F值为负时,A列不显示,B列显示 F 的绝对值哪位大侠给写个代码

解决方案 »

  1.   

    在字段的 onGetText 裡處理.
      

  2.   

    楼上,谢谢你,但是我是用 A,B 这两个DBGrid列,关联同一个字段F
      

  3.   

    想出一个解决办法:SQL.Text := 'select F, F as X from table1';然后就可以在F和X的onGetText里写代码处理了。但这样数据集中额外增加了一倍的数据在网上传输,效率较低。有没有在DBGrid中写代码处理的方法??
      

  4.   

    select case when F >= 0 then F end as A,
    case when F >= 0 then F end as B from yourtable
      

  5.   

    上面写错,改成下面:select case when F >= 0 then F end as A, 
    case when F < 0 then F end as B from yourtable
      

  6.   

    楼上: 谢谢,你的SQL很有启发意义, 并且可以不必在DBGrid处理了. 但请看4楼我的意思, 我想尽量减少数据集中的字段数量,因此我想还是要在DBGrid里处理非常谢谢你, 再等一夜看有没有其他答案, 如无,就结贴给分了