问题描述:  数据集query为:select id,number1,number2 from table1  在dbgrid显示三列id,number1,number2 问题提出:
  现在我想在dbgrid中显示第四列number1-number2。
  注意:我不想通过sql语句(select id,number1,number2,number1-number2 from table1)实现.
  
请问用dbgrid怎么实现增加列?

解决方案 »

  1.   

    怎么搞的,还没有人回复,人气这么差,delphi版块沦落至此了。
      

  2.   

    用 select id,number1,number2,number1-number2 from table1
    是最正统的做法,而且,是比较好的做法,如果不想,应该在 dbgrid 对应的那个数据集 上 增加一个 计算字段,在上面操作
    直接在dbgrid 上实现的思路不对,很麻烦
      

  3.   

    楼上的老大,给我指点一下思路嘛,办法应该是有的吧。DBgrid.conlumn.add也不知道具体怎么操作
      

  4.   

    右键AdoQuery编辑字段,在字段编辑窗口右键New Field,建计算字段,在AdoQuery的OnCalcFields事件中写计算代码
      

  5.   

    恩,按照楼上的zzq4823(高原猫) 所说的,就可以实现你的要求的
      

  6.   

    select id,number1,number2,'number1-number2' from table1
    肯定可以
      

  7.   

    其实我用的是存储过程,数据集是adoproce,所以不能那样弄。还有其他办法吗
      

  8.   

    { 回复人:zzq4823(高原猫) ( 三级(初级)) 信誉:95  2006-04-25 13:09:00  得分:0

    右键AdoQuery编辑字段,在字段编辑窗口右键New Field,建计算字段,在AdoQuery的OnCalcFields事件中写计算代码}正解!
      

  9.   

    可以试一下:
    1、在dbgrid中增加列,前面的列指定数据集中对应字段 id,number1,number2,再增加一列用于显示number1-number2 。不要指定数据集字段。
    2、在OnDrawDataCell事件中写下计算代码number1-number2