以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]如何设置删除单元格内容时不触发StartEdit事件 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=44341) |
-- 作者:loongtai -- 发布时间:2013/12/28 14:07:00 -- [求助]如何设置删除单元格内容时不触发StartEdit事件 我在表A的StartEdit事件中设置了弹出目录树窗口进行辅助录入,但是当要删除这列单元格的内容时,仍然会触发StartEdit事件,而使得删除操作无法进行。不知如何实现这样的目的:当要对某单元格进行编辑时,弹出目录树窗口,但如果是按Delete键对单元格内容进行清空时,则不弹出目录树窗口? |
-- 作者:Bin -- 发布时间:2013/12/28 14:09:00 -- 试试 PrepareEdit 事件 |
-- 作者:Bin -- 发布时间:2013/12/28 14:14:00 -- KeyDownEdit 事件也可以,记得使用e.cancel=true 取消当次按钮即可 |
-- 作者:loongtai -- 发布时间:2013/12/28 14:29:00 -- KeyDownEdit事件 If e.keycode=keys.delete Then MessageBox.show("执行Keydown") e.text=Nothing e.cancel=True End If StartEditg事件 If e.Col.Name = "员工所属角色" Then e.Cancel = True MessageBox.show("开始编辑") Dim frm1 As String="目录树录入查询窗口" Dim frm2 As String="指定角色" Functions.Execute("LoadForm_PubInitial",frm1,frm2) Vars("tbn")=e.Table.name \'MessageBox.show("tbn=" & Vars("tbn")) End If 发现按Delete键后,先触发StartEdit事件后触发KeyDownEdit事件,所以还是先弹出目录树窗口,无法删除内容。
|
-- 作者:Bin -- 发布时间:2013/12/28 14:32:00 -- 我是说,把代码都放到KeyDownEdit事件 |
-- 作者:loongtai -- 发布时间:2013/12/28 14:39:00 -- MessageBox.show("执行Keydown") If e.Col.Name = "员工所属角色名称" Then If e.keycode=keys.delete Then e.text=Nothing e.cancel=True Else e.Cancel = True MessageBox.show("开始编辑") Dim frm1 As String="目录树录入查询窗口" Dim frm2 As String="指定角色" Functions.Execute("LoadForm_PubInitial",frm1,frm2) Vars("tbn")=e.Table.name \'MessageBox.show("tbn=" & Vars("tbn")) End If End If 按Delete是能删除内容,但是进入单元格无法弹出目录树窗口。
|
-- 作者:Bin -- 发布时间:2013/12/28 14:43:00 -- 按下按键即可弹出. 或者你使用单元格按钮点击弹出吧.
|