我在DBGrid中实现了按回车后自动跳到下一列,可是现在我对于其中一列我要做特殊处理,我要求当我在该列输完值后执行某个校验(比如检查该值有无重复),若校验不符合条件则不允许跳入下一列.
我在DBGrid的的OnColExit做这样的处理:
  if 校验不符合条件 then
     DBGrid1.FieldIndex:=DBGrid1.FieldIndex
但照样跳到下一列.
所以我就想有没有办法,截获DBGrid发送tab消息而不能跳到下一列!!!

解决方案 »

  1.   

    可考虑在DBGrid的OnColExit事件里写代码
      

  2.   

    我本身就在
    OnColExit事件里写代码
      

  3.   

    var
    i:integer;i:=DBGrid1.FieldIndex;
    if 校验不符合条件 then
         begin
           DBGrid1.FieldIndex:=i;
         end;
    試一下.....
      

  4.   

    跳行是在ONKEYDOWN事件中写的的,在前面加一个条件不就行了吗?
    if 符合条件 and key=13 then key=9