在一个DBGRID中有若干个字段,我想通过一个EDIT来实现对DBGRID的数据输入,要求EDIT的位置和大小要和当前DBGRID中当前的列宽和行高相同。当在EDIT中输入完毕回车时。EDIT的位置自动跳转到下一个需要输入的字段,并且在EDIT中显示当前字段的内容。并能修改。。跳到行尾时能自动转到下一行继续进行操作。怎么实现啊。

解决方案 »

  1.   

    这个用DBEDIT控件就可以了,你自己搞是在浪费时间
    DBGRID的格式是可以设置的,用DBGIRD.Columns[i].Width:=xxx(int)就行了
      

  2.   

    那怎么让DBEDIT跟随DBGRID的行和列啊。并且位置大小都相同
      

  3.   

    那怎么让DBEDIT跟随DBGRID中有焦点的行和列啊。并且位置大小都相同
      

  4.   

    用感知控件DBEDIT连接每一字段,会字段
    随着变化的.
      

  5.   

    放一个若干DBEDIT上去,然后设置DBEDIT的datafield为相应列的字段名,设置dbedit的datasource和dbgrid的datasource一样。
      

  6.   

    如果还不明白,就在CSDN里给我发信息。。说出帖子的位置。
      

  7.   

    控制EDIT在按下回车后自动移动到下一个控件的代码:
     if key=#13 then
         SelectNext(ActiveControl,true,true);//通过用的
        //如果是准确的控制移动到某个指定控件,例如edit2,那么用下面的代码
              edit2.SetFocus
      

  8.   

    上述代码写在edit的onkeypress事件中
      

  9.   

    不是按下回车键就移动到下一个控件,是按下回车EDIT就移动到dbgrid下一个需要编辑的字段
      

  10.   

    并且在EDIT中显示当前字段的内容
    在edit的onEnter事件中写
    (sender as tedit).text := dbgrid1.datasource.dataset.fieldbyname('##').asstring;
      

  11.   

    是按下回车EDIT就移动到dbgrid下一个需要编辑的字段?不太明白,又不感乱猜。。
    是移动到dbgrid上,还是移动到edit上,由edit来显示dbgrid需要编辑的字段啊?