请教个问题,我想在DBGRID的第一列输入一个数据,然后程序根据输入的数据进行查询,将查询出来的结果赋在DBGRID后面几列里。
这个要怎么做啊?知道的高手指点下!

解决方案 »

  1.   

    你这个功能不适合用dbgrid,用stringgrid吧,想怎写就怎写。
      

  2.   

    我现在好多都用了DBGRID里了,楼主能帮忙想想办法吗?
      

  3.   

    告诉你用个控件:
    去下载Bitas控件下来,里面有个ComboxGrid。
    把dbgrideh中你想要操作的那一列的BuggonStyle属性修改为cbsEllipsis
    然后在ComboxGrid查询语句之类的,指定关联相关列。在dbgrideh的oneditbutton事件中写代码,赋值大概是这样子也是可以的。
      

  4.   

    除非你组合两个数据集为一个数据集,通过sql联合起来
      

  5.   

    踊跃测试一下,再用SHOWMESSAGE('');
    看看参数在传递时,是不是有问题吧
      

  6.   

    cxGird可以实现你要的效果,它就是各列分开管理的
      

  7.   

    又查询又显示,这种操作确实不适合用DBGRID
    方法多的很,比如用Edit+DBGRID,Edit输入条件,DBGRID显示数据
      

  8.   

    感谢各位楼主的支持,我用过DBGRIDEH第3方控件,还有CXGRID。
    但这些控件使用后,程序会出现莫名其妙的错误。
    后来我就没用了,一直是用DELPHI自带的控件。
    为什么要这样做呢?
    那是因为用户在录入订单的时候,可能一个订单有多个产品,如果单独用EDIT的话,效率会非常的低,所以我想用DBGRID来做。DBGrid1.Columns[0].FieldName:=FieldValues['po_code'];
           DBGrid1.Columns[1].FieldName:=FieldValues['po_code'];
    我这样的赋值,好象这个值跑到列标题上面去了,列单元格里还是没有值。
      

  9.   

    你明明就是对列标题赋值的呀,当然跑到列标题上去咯。
    赋值可以做样子的嘛:
    DBGridEh1.Fields[0].AsString:=值
    当然数据集要在Edit状态下哦。
    然后再Post
      

  10.   

    这样做很危险,DBGrid是数据感知控件。最好用一般控件,通过程序来控制最好