以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  锁定列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135236)

--  作者:nxqtxwz
--  发布时间:2019/5/21 14:34:00
--  锁定列
如果逻辑列E已选中,则锁定A、B、C、D四列已输入内容的行,代码怎么写呢?
[此贴子已经被作者于2019/5/21 14:39:28编辑过]

--  作者:有点甜
--  发布时间:2019/5/21 14:48:00
--  

if e.col.name <> "E" AndAlso e.row("E") = true then

    e.cancel = true

end if


--  作者:nxqtxwz
--  发布时间:2019/5/21 15:06:00
--  

问题是除了A、B、C、D、E还有其它的列要允许编辑怎么办?


--  作者:有点甜
--  发布时间:2019/5/21 15:08:00
--  

select case e.col.name

    case "A", "B", "C", "D"

       

End select


--  作者:nxqtxwz
--  发布时间:2019/5/21 15:42:00
--  

老师,这样的话,新增行也不能编辑了。

我的本意是逻辑列“E”选中了,就锁定记录。

[此贴子已经被作者于2019/5/21 15:42:09编辑过]

--  作者:有点甜
--  发布时间:2019/5/21 16:57:00
--  

startEdit事件

 

Select Case e.Col.name
   
    Case "A", "B", "C", "D"
       
        If e.Row("E") = True Then
           
            e.cancel = True
           
        End If
       
End Select


--  作者:nxqtxwz
--  发布时间:2019/5/21 17:17:00
--  
以下是引用有点甜在2019/5/21 16:57:00的发言:

startEdit事件

 

Select Case e.Col.name
   
    Case "A", "B", "C", "D"
       
        If e.Row("E") = True Then
           
            e.cancel = True
           
        End If
       
End Select

老师,这样的话,新增行也不能编辑了。


--  作者:有点甜
--  发布时间:2019/5/21 17:55:00
--  

 

你新增行E列是false啊,上传具体实例测试。