以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]目录树有没有判断某节点有无子节点的函数?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=154437)

--  作者:2425004926
--  发布时间:2020/9/15 9:59:00
--  [求助]目录树有没有判断某节点有无子节点的函数?
请问有没有判断某节点有无子节点的函数

案例:
由单列生成的目录,以“-”作为分隔符
如下面单列
照片
照片框-A
照片框-B

如目录后还有括号统计数量
Dim ly As String = nd.text
nd.Text = nd.text & "(" & dt.Compute("Sum(数量)","[类别] like \'" & ly & "%" & "\'") & ")"
显然:
列包括“照片”是存在漏洞,会将“照片框”也统计在内
列开始位置包括“照片”也存在漏洞,会将“照片框”也统计在内
如是列结束位置,照片框又不能统计
所以改用了数组

Dim sum As Integer = 0

Dim drs As List(Of DataRow)

drs = DataTables("文物明细表").Select("[类别] like \'" & ly & "%" & "\'")

For Each dr As DataRow In drs

    Dim names() As String

    names = dr("类别").split("-")

    If names(0) = nd.text Then

        sum = sum + dr("数量")

    End If

Next

nd.Text = nd.text & "(" & sum & ")"

问题得到了解决。

如果有可以判断是否有子节点的函数,那么就可以用以下方法更简洁

一级节点无子节点,直接用 “=” ly

如有子节点,用包括 ly & “-”

在点击节点筛选行时还更方便一些

请老师指点!谢谢!


--  作者:有点蓝
--  发布时间:2020/9/15 10:06:00
--  
if nd.nodes.count = 0 then 
msgbox("没有子节点")

--  作者:2425004926
--  发布时间:2020/9/15 10:11:00
--  
非常谢谢!