以文本方式查看主题 - 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的总状态的列为未完成。 感谢 感谢
|
||||
-- 作者:有点甜 -- 发布时间: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 --
|
||||
-- 作者: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("某列") = "某值" |