以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]表A逻辑列打勾,关联表B不可编辑 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=61553) |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/12/14 21:08:00 -- [求助]表A逻辑列打勾,关联表B不可编辑 主表A和子表B关联,表A中有逻辑列X,逻辑列X打勾后,子表B相关联的内容相将不允许再编辑,请前辈老师帮忙写个代码,谢谢! |
||||
-- 作者:有点甜 -- 发布时间:2014/12/14 21:11:00 -- PrepareEdit事件,简单一点,可以引用父表的逻辑列,这样就不需要find函数
If e.Col.Name = "关联列" AndAlso e.Row("逻辑列") = True Then e.Cancel = True End If |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/12/14 21:28:00 -- 老师试了一下没有成功,我把项目上传,请帮我看一看,谢谢!
|
||||
-- 作者:ZHX88863808 -- 发布时间:2014/12/14 21:32:00 -- 老师:上面项目我希望表A逻辑列打勾后,表B相关内容不好编辑(即不好增加行等),但子表C还可以编辑。 |
||||
-- 作者:有点甜 -- 发布时间:2014/12/14 21:37:00 -- 表B的prepareEdit事件
If e.Col.Name = "A" OrElse e.Col.name = "B" Then |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/12/14 21:49:00 -- 老师:如果逻辑列打勾后,表B不允许增加行,那代码又怎么写呢? |
||||
-- 作者:有点甜 -- 发布时间:2014/12/14 21:55:00 -- datarowAdded事件
Dim fdr As DataRow = e.DataRow.GetParentRow("表A")
datacochanged事件
If e.DataCol.Name = "A" OrElse e.DataCol.Name = "B" Then |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/12/14 22:03:00 -- 老师:上面两个代码都要用吗? |
||||
-- 作者:有点甜 -- 发布时间:2014/12/14 22:05:00 -- 是的,在表B。 |
||||
-- 作者:ZHX88863808 -- 发布时间:2014/12/14 22:08:00 -- 谢谢老师! |