以文本方式查看主题 - 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 --
|
||||
-- 作者:jnletao -- 发布时间:2014/2/23 15:07:00 -- 谢谢lsy老师,刚才我测试了下,在使用扫描枪的情况下完全可以正常, 只是还有另一个疑问,如果是用户手工输入,而且巧好没有敲回车键,而是用鼠标 切换到其它单元格,这时光标返回的并不是当前单元格,而是上一行。不知有没有好的方法
|
||||
-- 作者:lsy -- 发布时间:2014/2/23 16:04:00 --
允许空值或空字符串时离开该单元格,不然想离开的时候很烦人。 [此贴子已经被作者于2014-2-23 16:06:04编辑过]
|