苏州三木软件科技有限公司

 找回密码
 立即注册
搜索
热搜: 活动
查看: 1033|回复: 3

怎么获得目录树表的所有父节点?

[复制链接]

7

主题

9

帖子

75

积分

注册会员

Rank: 2

积分
75
发表于 2023-6-1 11:10:02 | 显示全部楼层 |阅读模式
怎么获得目录树表的所有父节点?
回复

使用道具 举报

22

主题

296

帖子

1876

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1876
QQ
发表于 2023-6-1 13:12:43 | 显示全部楼层
  1. Dim tbl As SmEditTreeGrid
  2. Dim lstNode As New List(Of Node)
  3. Dim lstRowData As New List(Of RowData)
  4. For i As Integer = tbl.Rows.Fixed To tbl.Rows.Count-1
  5.         '如果当前行是节点并且还有子节点,则认为它是父节点
  6.         If tbl.Rows(i).IsNode AndAlso tbl.Rows(i).Node.Children>0 Then
  7.                 '添加到节点集合
  8.                 lstNode.Add(tbl.Rows(i).Node)
  9.                 '添加到RowData集合
  10.                 lstRowData.Add(tbl.Rows(i).GetRowData())
  11.         End If
  12. Next
复制代码


回复

使用道具 举报

7

主题

9

帖子

75

积分

注册会员

Rank: 2

积分
75
 楼主| 发表于 2023-6-1 15:26:57 | 显示全部楼层

额,是我没表达清除,不是所有含有子节点的父节点,是当前节点的所有父节点
回复

使用道具 举报

22

主题

296

帖子

1876

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1876
QQ
发表于 2023-6-1 16:55:04 | 显示全部楼层
  1. Dim tbl As SmEditTreeGrid
  2. Dim lstNode As New List(Of Node)
  3. Dim lstRowData As New List(Of RowData)
  4. If tbl.SelectedNode IsNot Nothing Then
  5.         Dim ndFather As Node=tbl.SelectedNode.Parent
  6.         Do While ndFather IsNot Nothing
  7.                 '添加到节点集合
  8.                 lstNode.Add(ndFather)
  9.                 '添加到RowData集合
  10.                 lstRowData.Add(ndFather.Row.GetRowData())
  11.                 '重新找到父节点
  12.                 ndFather=ndFather.Parent
  13.         Loop
  14. End If
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|苏州三木软件科技有限公司 ( 苏ICP备2022038390号 )

苏公网安备 32058502010732号

GMT+8, 2024-7-7 20:55 , Processed in 0.058597 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表