Foxtable(狐表)用户栏目专家坐堂 → [求助]如何设置删除单元格内容时不触发StartEdit事件


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

主题:[求助]如何设置删除单元格内容时不触发StartEdit事件

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


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
[求助]如何设置删除单元格内容时不触发StartEdit事件  发帖心情 Post By:2013/12/28 14:07:00 [只看该作者]

我在表A的StartEdit事件中设置了弹出目录树窗口进行辅助录入,但是当要删除这列单元格的内容时,仍然会触发StartEdit事件,而使得删除操作无法进行。不知如何实现这样的目的:当要对某单元格进行编辑时,弹出目录树窗口,但如果是按Delete键对单元格内容进行清空时,则不弹出目录树窗口?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/28 14:09:00 [只看该作者]

试试 PrepareEdit  事件

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/28 14:14:00 [只看该作者]

KeyDownEdit 事件也可以,记得使用e.cancel=true 取消当次按钮即可


 回到顶部
帅哥哟,离线,有人找我吗?
loongtai
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/28 14:32:00 [只看该作者]

我是说,把代码都放到KeyDownEdit事件

 回到顶部
帅哥哟,离线,有人找我吗?
loongtai
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:574 积分:4332 威望:0 精华:0 注册:2013/7/26 10:24:00
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/28 14:43:00 [只看该作者]

按下按键即可弹出. 或者你使用单元格按钮点击弹出吧.

 回到顶部