以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]还是老问题。根据节点的层数计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=77826)

--  作者:ydhcz2009
--  发布时间:2015/11/26 8:56:00
--  [求助]还是老问题。根据节点的层数计算
问题在文件里
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:各层节点的单重计算疑问.foxdb


--  作者:大红袍
--  发布时间:2015/11/26 10:06:00
--  

mark 递归求和

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:各层节点的单重计算疑问.foxdb


--  作者:ydhcz2009
--  发布时间:2015/11/26 10:25:00
--  
用递归求和有一个问题。目录树的最底层的节点的单重本来就有了,现在乘以隶属数量,那底层的节点的单重改变了。这个目录树,除了底层节点的单重是本来就有的,其他上层的节点,是隶属于这个节点的各个子节点的单重和隶属数量乘积的和。我要的是这种结果。
--  作者:大红袍
--  发布时间:2015/11/26 10:51:00
--  
Dim pdr As DataRow = args(0)
Dim dt As DataTable = pdr.DataTable
Dim drs As List(of DataRow)
drs = dt.Select("隶属元素 = \'" & pdr("元素编号") & "\'")
If drs.count = 0 Then
    pdr("单重计算1") = pdr("元素单重")
    Return pdr("元素单重")
Else
    Dim sum As Double = 0
    For Each dr As DataRow In drs
        Dim rtn As Double = Functions.Execute("求和", dr)
        sum += rtn
    Next
    pdr("单重计算1") = sum * pdr("隶属数量")
    Return pdr("单重计算1")
End If

--  作者:ydhcz2009
--  发布时间:2015/11/26 11:19:00
--  
谢谢。我再学习一下