以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]所有订单明细记录锁定后自动锁定订单记录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42297)

--  作者:jdzyyy
--  发布时间:2013/11/7 21:14:00
--  [求助]所有订单明细记录锁定后自动锁定订单记录
订单表和订单明细已建立关联,当“订单明细”表中所有记录都锁定时,自动锁定相对应的“订单”表记录,这个应该如何来做呢,请大侠指点哈。。
--  作者:有点甜
--  发布时间:2013/11/7 21:26:00
--  
 这个需要编写代码代码解决。

 编写DataRowLockedChanged事件

Dim count As Integer = e.DataTable.Compute("count(_Identify)", "关联列 = \'" & e.DataRow("关联列") & "\'")
Dim lcount As Integer = e.DataTable.Compute("count(_Identify)", "关联列 = \'" & e.DataRow("关联列") & "\' and _Locked = true")
If count = lcount Then
    Dim pdr As DataRow = e.DataRow.GetParentRow("父表名")
    pdr.Locked = True
End If

--  作者:jdzyyy
--  发布时间:2013/11/7 21:38:00
--  
一定要用主键列来处理吗?有没有其他方法啊?
--  作者:有点甜
--  发布时间:2013/11/7 21:45:00
--  
 肯定要用关联的列来查找对比,这个是必定的。
--  作者:blackzhu
--  发布时间:2013/11/8 8:11:00
--  
判断子表有无处理完数据 如果处理完利用关联的字段锁定主表.