以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  能否做到根据条件“锁定”单元格  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=31047)

--  作者:atmetmicoo
--  发布时间:2013/4/9 12:21:00
--  能否做到根据条件“锁定”单元格
狐爸,能不能做到单元格可根据条件的设置决定是否能编辑


图片点击可在新窗口打开查看此主题相关图片如下:附图.jpg
图片点击可在新窗口打开查看


如上图,如果第一列为 1 时,对应的第二列的单元格是不能编辑的,如果第一列值为0时,对应的第二列的单元格就可以编辑(即能修改该单元格的数据),请问如何能做到,谢谢。
[此贴子已经被作者于2013-4-9 13:07:45编辑过]

--  作者:y2287958
--  发布时间:2013/4/9 12:24:00
--  

PrepareEdit事件


--  作者:Bin
--  发布时间:2013/4/9 12:24:00
--  
这个可以在表AFterLoad事件中添加 代码  筛选出你想要锁定的行.然后设置这些行为不能编辑 即可.
--  作者:Bin
--  发布时间:2013/4/9 12:24:00
--  
以下是引用y2287958在2013-4-9 12:24:00的发言:

PrepareEdit事件


这个办法更高效..我2了.
--  作者:atmetmicoo
--  发布时间:2013/4/9 12:35:00
--  
Bin老师

PrepareEdit事件我只会针对 “某行或者某列” 设置E.cancel = true,针对某个单元格的程序怎么写我还没转过来,请指教

--  作者:atmetmicoo
--  发布时间:2013/4/9 13:09:00
--  
顶一下,请各位老师指教
--  作者:blackzhu
--  发布时间:2013/4/9 13:12:00
--  
if e.col.Name = "第一列" then
  if e.row("第一列") = "1" then
     E.cancel = true
end if
end if

--  作者:atmetmicoo
--  发布时间:2013/4/9 13:17:00
--  
搞定了,谢谢 blackzhu 。
[此贴子已经被作者于2013-4-9 13:17:19编辑过]