以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]父表中的某些列没有编辑完则子表不允许编辑代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78270)

--  作者:ZHX88863808
--  发布时间:2015/12/5 20:10:00
--  [求助]父表中的某些列没有编辑完则子表不允许编辑代码
表A和表B为父子表,如果父表表A中的A列、B列、C列没有编辑,则子表不可编辑,请老师前辈写个代码,谢谢!
--  作者:大红袍
--  发布时间:2015/12/6 15:29:00
--  

Dim pdr As DataRow = e.Row.DataRow.GetParentRow("表b")
If pdr Is Nothing OrElse pdr.IsNull("第一列") OrElse pdr.IsNull("第二列") Then
    e.Cancel = True
End If


--  作者:ZHX88863808
--  发布时间:2015/12/6 20:07:00
--  

老师:上面这代码不知放在表A的哪个事件为好,我试放了几个都没成功,请帮忙明示或修改一下,谢谢!


--  作者:大红袍
--  发布时间:2015/12/6 21:58:00
--  

prepareEdit事件。


--  作者:大红袍
--  发布时间:2015/12/6 21:59:00
--  
2楼的代码。表B是父表,表A是子表。
--  作者:ZHX88863808
--  发布时间:2015/12/7 7:16:00
--  

老师:如果父表某列数据未填,加一个父表某列未填入数据的提示最好,麻烦再帮忙修改一下,谢谢!

 


--  作者:Hyphen
--  发布时间:2015/12/7 8:43:00
--  
分开判断,弹出提示,如
If pdr.IsNull("第一列") Then
    msgbox("xx表第一列还木有填写!")
    e.Cancel = True
    Return
End If
If pdr.IsNull("第二列") Then ......

--  作者:ZHX88863808
--  发布时间:2015/12/7 20:14:00
--  

前辈,上面这个代码我试过了,没有成功,还望修改一下,谢谢!

 


--  作者:大红袍
--  发布时间:2015/12/7 20:17:00
--  

 

[此贴子已经被作者于2015/12/7 20:17:45编辑过]

--  作者:大红袍
--  发布时间:2015/12/7 20:18:00
--  

startEdit事件,不会做上传项目

 

Dim pdr As DataRow = e.Row.DataRow.GetParentRow("表A")
If pdr Is Nothing Then
 
    If pdr.IsNull("第一列") Then
        e.Cancel = True
        Return
    End If
   
End If