以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]窗口表中不同类型的keydonw表现不同 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=91507) |
-- 作者:chnfo -- 发布时间:2016/10/12 13:39:00 -- [求助]窗口表中不同类型的keydonw表现不同 在窗口中有一个表,它的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表中,如果当前行是最后一行,按回车则增加新行;否则光标移到下一行,但列不变。 问题在哪里呢?
|
-- 作者:有点蓝 -- 发布时间:2016/10/12 14:46:00 -- [此贴子已经被作者于2016/10/12 14:48:18编辑过]
|
-- 作者:有点蓝 -- 发布时间: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
|