Foxtable(狐表)用户栏目专家坐堂 → [求助]窗口表中不同类型的keydonw表现不同


  共有1999人关注过本帖树形打印复制链接

主题:[求助]窗口表中不同类型的keydonw表现不同

帅哥哟,离线,有人找我吗?
chnfo
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2239 积分:18446 威望:0 精华:0 注册:2011/11/26 20:21:00
[求助]窗口表中不同类型的keydonw表现不同  发帖心情 Post By:2016/10/12 13:39:00 [只看该作者]

在窗口中有一个表,它的keydonw事件这么写
Dim tbl As Table = e.Form.Controls("Table1").Table
Dim n As Integer = tbl.Current.Index
Select Case e.KeyCode
    Case keys.enter
        If  tbl.BottomPosition = n   Then
            tbl.AddNew()
        Else
            Sendkeys.Send("{Down}")
        End If
End Select

如果它是normal的表,比如绑定了表A,每按一次回车(不论当前光标是不是在最后一行),它会自动增加两行(因为表A的属性设置为了自动增加行,按回车键到下一行,可能是这个原因吧),焦点锁定在列不变。
如果它是SQLTable,每按一次回车(不论当前光标是不是在最后一行),它会自动增加一行,焦点会转到增加行的下一列

我的目的是希望在SQLTABLE表中,如果当前行是最后一行,按回车则增加新行;否则光标移到下一行,但列不变。
问题在哪里呢?

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 14:46:00 [只看该作者]


[此贴子已经被作者于2016/10/12 14:48:18编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110582 积分:562806 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 14:48:00 [只看该作者]

Dim tbl As Table = e.Table
Select Case e.KeyCode
    Case keys.enter
        e.Cancel = True
        If  tbl.Position =  tbl.Rows.Count - 1  Then
            tbl.AddNew()
        End If
        Sendkeys.Send("{Down}")
        
End Select

 回到顶部