以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]解锁列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42528)

--  作者:djyjcl
--  发布时间:2013/11/14 13:32:00
--  [求助]解锁列
有【入库】和【入库明细】两表,通过入库单编号关联, 【入库】审核人不为空,锁定当前行,并锁定关联表 【入库明细】的所有关联行,但允许角色为“管理”的用户编辑 关联表 【入库明细】 的“第四列”。红色部分功能如何写代码, 请教各位老师? 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:解锁列问题.foxdb


--  作者:Bin
--  发布时间:2013/11/14 14:15:00
--  
你要指定列可以编辑,那就不能用锁定功能了,要用   PrepareEdit 事件做限制.
--  作者:狐狸爸爸
--  发布时间:2013/11/14 14:27:00
--  

记得入库明细也得设置一下PrepareEdit事件:

 

dim dr As DataRow = e.Row.DataRow.GetParentRow("入库单")

if dr Isnot Nothing AndAlso dr.Isnull("审核人") = False Then

    e.Cancel = True

End If

 


--  作者:djyjcl
--  发布时间:2013/11/14 17:03:00
--  
不好意思,刚才来客人了,未及回应。谢谢Bin老师和狐爸指教!不知道狐爸的代码用锁定功能,能否 指定列可以编辑?


--  作者:Bin
--  发布时间:2013/11/14 17:04:00
--  
2楼已经说了,不可以.
--  作者:狐狸爸爸
--  发布时间:2013/11/14 17:06:00
--  

用PrepareEdit事件,可以的,直接锁定行是不行的。

你先看下prepareedit事件的说明吧。


--  作者:djyjcl
--  发布时间:2013/11/14 17:11:00
--  [求助]
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:解锁列问题.foxdb

搞好了。谢谢狐爸、Bin老师!
[此贴子已经被作者于2013-11-14 17:13:42编辑过]