以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联表联动  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=121079)

--  作者:yangwenghd
--  发布时间:2018/6/28 17:56:00
--  关联表联动
怎么让当表A和表B关联的行后,表B的子状态都是一件已收款的时候,则表A的在总状态为已完成啊,如果表A关联表B的子状态列不全部是已收款,则表A的总状态的列为未完成。
感谢 感谢 
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table



--  作者:有点甜
--  发布时间:2018/6/28 18:11:00
--  

参考 示例四

 

http://www.foxtable.com/webhelp/scr/2649.htm

 


--  作者:yangwenghd
--  发布时间:2018/6/29 10:09:00
--  
If e.DataCol.name = "编辑信息_状态" Then
    Dim pr As DataRow = e.DataRow.GetParentRow("商品管理")
    If pr IsNot Nothing Then
        Dim crs As List(of DataRow) = pr.GetChildRows("商管附表")
        Dim cnt As Integer
        For Each cr As DataRow In crs
            If cr("上传信息_状态") = "已更新" Then
                cnt = cnt + 1
            End If
        Next
        pr("上传信息_状态") = (crs.Count = cnt)
    End If
End If

两个表的判断列都必须是相同的和逻辑列吗?
感谢 感谢
[此贴子已经被作者于2018/6/29 10:12:21编辑过]

--  作者:有点甜
--  发布时间:2018/6/29 10:32:00
--  

 

pr("上传信息_状态") = iif(crs.Count = cnt, "已更新", "未更新")


--  作者:yangwenghd
--  发布时间:2018/6/29 12:46:00
--  
If e.DataCol.name = "编辑信息_状态" Then
    Dim pr As DataRow = e.DataRow.GetParentRow("商品管理")
    If pr IsNot Nothing Then
        Dim crs As List(of DataRow) = pr.GetChildRows("商管附表")
        Dim cnt As Integer
        For Each cr As DataRow In crs
            If cr("上传信息_状态") = "已更新" Then
                cnt = cnt + 1
            End If
        Next
        pr("上传信息_状态") = iif(crs.Count = cnt, "已更新", "未更新")
    End If
End If
能在帮忙看看吗?
为什么没有反应呢
商品附表 的上传信息_状态 都是已更新的时候, 商品管理的编辑_状态列为,已完成
如果商品附表 的上传信息_状态 只要有一个不是是已更新的时候,商品管理的编辑_状态列为,待完成
感谢 感谢 

--  作者:有点甜
--  发布时间:2018/6/29 13:56:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2 (1).table


--  作者:yangwenghd
--  发布时间:2018/7/4 18:10:00
--  
这个怎么可以放到datarowadded 里面呀 ,感谢 感谢 
--  作者:有点甜
--  发布时间:2018/7/4 21:52:00
--  
只能写在datacolchanged事件,认认真真看懂代码。
--  作者:yangwenghd
--  发布时间:2018/7/5 9:20:00
--  
如果要添加行后,执行这个代码一个怎么做啊,感谢 感谢 
--  作者:有点甜
--  发布时间:2018/7/5 10:13:00
--  
以下是引用yangwenghd在2018/7/5 9:20:00的发言:
如果要添加行后,执行这个代码一个怎么做啊,感谢 感谢 

 

添加行之后,直接给某列赋值,如

 

e.datarow("某列") = "某值"