以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  回车到下一行第一列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40139)

--  作者:998168
--  发布时间:2013/9/10 14:04:00
--  回车到下一行第一列
   指定在某列后按回车键后跳到下一行第一列该怎么设计?


--  作者:Bin
--  发布时间:2013/9/10 14:10:00
--  
表的 KEYDOWN 事件

If e.keyCode=keys.Enter AndAlso e.Table.cols(e.Table.Colsel).name="第三列" Then
    If e.Table.Position<e.Table.Rows.Count-1 Then
        e.Table.Position=e.Table.Position+1
        e.cancel=True
    End If
End If

--  作者:998168
--  发布时间:2013/9/10 14:14:00
--  
  谢谢!
--  作者:998168
--  发布时间:2013/9/10 14:33:00
--  
  你好,用这方法只可以跳到下一行对应列而已,我想跳到下一行的第一列,该如何设置呢?还有一种情况就是 假如设置的单元格没有进入编辑状态的话,这代码就无效了,有没有对应措施呢?
--  作者:Bin
--  发布时间:2013/9/10 14:39:00
--  
If e.keyCode=keys.Enter AndAlso e.Table.cols(e.Table.Colsel).name="第三列" Then
    If e.Table.Position<e.Table.Rows.Count-1 Then
        e.Table.Position=e.Table.Position+1
        e.Table.Select(e.Table.TopRow,0,e.Table.BottomRow,0)
        e.cancel=True
    End If
End If

--  作者:狐狸爸爸
--  发布时间:2013/9/10 14:47:00
--  

如果代码设置在KeydownEdit事件,本来就只有编辑状态才有效的啊

 

If e.keyCode=keys.Enter AndAlso e.Table.cols(e.Table.Colsel).name="第三列" Then
    If e.Table.Position< e.Table.Rows.Count-1 Then
        e.Table.Select(e.Table.Position + 1,0)
        e.cancel=True
    End If
End If


--  作者:Bin
--  发布时间:2013/9/10 14:50:00
--  
KeydownEdit 和KewDown 两个事件都设置这个代码就可以在所有情况下都运作啦.