Foxtable(狐表)用户栏目专家坐堂 → [求助]计算目录树各节点数据


  共有2221人关注过本帖树形打印复制链接

主题:[求助]计算目录树各节点数据

帅哥哟,离线,有人找我吗?
ydhcz2009
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:64 积分:1027 威望:0 精华:0 注册:2012/4/5 9:35:00
[求助]计算目录树各节点数据  发帖心情 Post By:2015/11/20 21:43:00 [只看该作者]

我想统计目录树的各层级节点的综合数据。就是综合下级节点的和。最下级的节点是零件,是有重量的,零件以上的节点就是零件组合起来的,也就是各子节点的重量的和。能否用递归函数进行计算?求各位指点。我自己写的递归函数总是出错。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:目录树统计各节点数据.foxdb

[此贴子已经被作者于2015/11/20 21:49:01编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2015/11/21 10:03:00 [只看该作者]

mlsjs函数

 

Dim ys As String = Args(0)
Dim drow As DataRow = Args(1)
Dim zl As Double = 0
Dim dr As DataRow
Dim drs As List(of DataRow)
drs = drow.DataTable.Select("[隶属] = '" & ys & "'")
If drs.Count = 0 Then
    If drow.IsNull("单重") = False Then
        zl = drow("单重") * drow("隶属数量")
    End If
Else
    For Each dr In drs
        zl += Functions.Execute("mlsjs", drow("元素"),dr)
    Next
End If

Return zl

 

 

按钮事件

 

Dim tr As WinForm.TreeView = e.Form.Controls("TreeView1")
tr.CreateTree("表A","绝对路径")

For Each nd As WinForm.TreeNode In tr.AllNodes
    Dim zl = Functions.Execute("mlsjs",nd.DataRow("元素") ,nd.DataRow)
    nd.Text = nd.DataRow("复合名称") & "数量(" & nd.DataRow("隶属数量") & ")" & "重量(" & zl & ")"
Next
tr.ExpandAll


 回到顶部
帅哥哟,离线,有人找我吗?
ydhcz2009
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:64 积分:1027 威望:0 精华:0 注册:2012/4/5 9:35:00
  发帖心情 Post By:2015/11/21 10:14:00 [只看该作者]

谢谢。算是算出来了。不过数据是错的。但至少不会死循环了。我再学习一下。谢谢了

 回到顶部