Foxtable(狐表)用户栏目专家坐堂 → 在表中判断是否为末级节点


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

主题:在表中判断是否为末级节点

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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
在表中判断是否为末级节点  发帖心情 Post By:2012/8/3 15:13:00 [显示全部帖子]

因为节点关系已经用"\"分隔符标记,这样是可以在窗口中展示成树的。

现在有两个问题
(1)如何判断这个节点就是末级节点。按我的想法是,如果这个节点的“code”在"FindFather"列中能找到,它肯定不是末级节点,否则就是末级节点,在帮助中寻觅了一番,也试了几回,不得其门而入
(2)在实际工作中,需要用到非末级节点的V值递归计算。我的想法是,直接 sum(FindFather=本节点的code,对应的V就OK了),但再想想,好象必须要用到遍历才可以。

请高手指教。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:末级节点判断.table


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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/8/3 15:58:00 [显示全部帖子]

还是帮助看得不精啊,我总是用=而不是用like。
晕死。

那第二个问题呢,父节点的V值=sum(子节点的V),一直算到顶级节点,是否也要遍历计算?

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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/8/3 16:28:00 [显示全部帖子]

For Each dr1 As DataRow In  e.DataTable.DataRows
    Dim dr2 As DataRow = e.DataTable.Find("FindFather = '" & dr1("sortkey") & "'")
    If dr2 Is Nothing Then
        dr1("Istree") = True
    Else
        dr1("Istree") = False
    End If
Next

用=与like的效率哪一个更高一些?

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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/8/5 9:51:00 [显示全部帖子]

这个认真复习了两遍,对以后的练习应当很有帮助。

有个问题再请教,就是如果单单在一个表中来做递归计算没有问题,如果末级节点的某一列数据(例如金额)数据来源于其它的表,这样的代码好象执行中有问题。

题目中的最下级机构的物品数量和金额都可以计算,但往上递归的时候就出错了,试了几个方法都不太行。


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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2012/8/5 10:02:00 [显示全部帖子]

这个认真复习了两遍,对以后的练习应当很有帮助。

有个问题再请教,就是如果单单在一个表中来做递归计算没有问题,如果末级节点的某一列数据(例如金额)数据来源于其它的表,这样的代码好象执行中有问题。

题目中的最下级机构的物品数量和金额都可以计算,但往上递归的时候就出错了,试了几个方法都不太行。
 下载信息  [文件大小:   下载次数: ]
点击浏览该文件:管理项目198.table



 回到顶部