Foxtable(狐表)用户栏目专家坐堂 → [求助]与CTRL+D 代码有关的求助


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

主题:[求助]与CTRL+D 代码有关的求助

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


加好友 发短信
等级:五尾狐 帖子:1106 积分:8977 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]与CTRL+D 代码有关的求助  发帖心情 Post By:2021/5/19 17:19:00 [显示全部帖子]

表事件 PrepareEdit
'禁止编辑
If e.IsFocusCell Then
    Select Case e.Col.Name
        Case "合同号"
            If e.Row("记录来源") = "系统导入" Then
                e.Cancel = True
            End If
    End Select
End If

现在假定有2行记录,第1行记录的“记录来源”为人工录入,然后,用户可以在合同号中任意录入,第2行的记录是 "系统导入",用户双击此行的合同号格字是不能进入编辑状态的,但是,如果用户选择第1行与第2行的合同号二个格子,然后按CTRL+D,就会将第1行记录中的合同号内容覆盖到第2行记录中的合同号,因此突破了代码中对当记录来源为系统导入时禁止修改合同号的约束。
请问老师有何办法解决吗?当然,请不要简单的禁用掉CTRL+D,这个快捷键还是很有用的。
谢谢

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


加好友 发短信
等级:五尾狐 帖子:1106 积分:8977 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2021/5/20 12:44:00 [显示全部帖子]

这样不够灵活,随着项目的开发,不断的增加表,经常要去这个菜单代码更改太麻烦了,我有个想法,就是不知代码如何写:
在当前表的某个表事件中,如果当前列是 “合同号”,刚此次按下的CTRL+D按键无效,请老师根据我这个思路写下例子,谢谢!

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


加好友 发短信
等级:五尾狐 帖子:1106 积分:8977 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2021/5/20 14:16:00 [显示全部帖子]

哪就上面老师给的代码,如何实现,仅仅是“合同号”列不能用CTRL+D呢,谢谢老师!

 回到顶部