以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]小但很困扰人的问题-关于退出编辑单元格  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=46397)

--  作者:jnletao
--  发布时间:2014/2/22 15:41:00
--  [求助]小但很困扰人的问题-关于退出编辑单元格
我在DataColChanging 属性 设置了如下代码
以下内容为程序代码:

1 If e.DataCol.Name = "条形码" Then
2 Dim dr As DataRow
3 dr = e.DataTable.Find(" 条形码  = \'" & e.NewValue & "\'")
4 If dr IsNot Nothing Then
5 MessageBox.Show("此 条形码已经存在!")
6 e.Cancel = True
7 End If
8 End If
9

表属性回车默认转向下一行
用于扫描枪 录入
我们知道扫描枪的原理就是一个录入+ 回车 操作

问题出现在这里
出现重复提示后,单击确定后,当前内容清空了,但光标默认跑到下一行了。
我本意是 如果 提示重复的话,光标默认不离开本单元格,只有不重复才会转向下一行。

请问如何 设计代码



--  作者:Bin
--  发布时间:2014/2/22 15:47:00
--  
KeydownEdit 事件

If e.keycode = keys.Enter Then
   e.cancel=True
End If


--  作者:jnletao
--  发布时间:2014/2/22 16:02:00
--  
bin老师,刚才我清除了 DataColChanging 里的代码
KeydownEdit事件做了设置,能够响应回车了。
现在另一个疑问,如果是用户手工输入,而且巧好没有敲回车键,而是用鼠标 切换到其它单元格,这时该如何设计,
-------------
我刚才想用MouseLeaveCell事件时模拟  Sendkeys.Send({ENTER}),可是不成功
[此贴子已经被作者于2014-2-22 16:04:36编辑过]

--  作者:Bin
--  发布时间:2014/2/22 16:09:00
--  

ValidateEdit 事件可以控制


--  作者:lsy
--  发布时间:2014/2/22 16:40:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:回车控制条形码扫描.table


--  作者:jnletao
--  发布时间:2014/2/23 15:07:00
--  
谢谢lsy老师,刚才我测试了下,在使用扫描枪的情况下完全可以正常,
只是还有另一个疑问,如果是用户手工输入,而且巧好没有敲回车键,而是用鼠标 切换到其它单元格,这时光标返回的并不是当前单元格,而是上一行。不知有没有好的方法

--  作者:lsy
--  发布时间:2014/2/23 16:04:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:回车控制条形码扫描.table

 

允许空值或空字符串时离开该单元格,不然想离开的时候很烦人。

[此贴子已经被作者于2014-2-23 16:06:04编辑过]