以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [原创]表达式有无乘积(像求和sum这种)的功能 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=108812) |
-- 作者:leeswayne -- 发布时间:2017/10/30 11:58:00 -- [原创]表达式有无乘积(像求和sum这种)的功能 一个订单(作为父表)涉及多个产品的发货明细(作为子表),两个表都有“已收款”的逻辑列,希望子表的不同产品都是“已收款”为真后,父表的“已收款”也自动变为真,现在想到的办法就是父表的这个逻辑列等于子表逻辑列的乘积,但是好像没有像sum一类很方便的表达式? |
-- 作者:有点甜 -- 发布时间:2017/10/30 12:02:00 -- 参考 http://www.foxtable.com/webhelp/scr/2649.htm
如果用公式,可以sum后,对比count的值。
或者看看 http://www.foxtable.com/webhelp/scr/2472.htm
|
-- 作者:leeswayne -- 发布时间:2017/10/30 12:44:00 -- 谢谢老师,完美解决! |
-- 作者:leeswayne -- 发布时间:2017/10/30 14:00:00 -- 老师,再麻烦请教一下,因为逻辑列有两列,分别是"货款已收"和"货款赊欠",对“货款已收”列,是子表所有值均为真后父表也为真;但是对“货款赊欠”一列,是只要订单子表还有任意一笔未付清,父表就要为真,这个代码需要怎么改一下呢? |
-- 作者:有点甜 -- 发布时间:2017/10/30 14:15: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 = 0 For Each cr As DataRow In crs If cr("审核") = True cnt = cnt + 1 End If Next pr("审核") = iif(cnt >= 1, true, false) End If End If [此贴子已经被作者于2017/10/30 14:16:05编辑过]
|
-- 作者:leeswayne -- 发布时间:2017/10/30 15:25:00 -- 谢谢老师!不懂代码,实在是麻烦您了! |