【发布时间】:2020-05-22 03:45:28
【问题描述】:
我尝试将文件修订列表填充到树视图。我有一个修订文件列表,如下所示。
1.17
1.17.1.1
1.17.1.2
1.17.1.2.1.1
1.17.1.2.1.2
1.17.1.2.1.2.1.1
1.17.1.2.1.2.1.2
1.17.1.2.1.2.1.3
1.17.1.2.1.2.1.3.1.1
1.17.1.2.1.2.1.3.1.2
1.17.1.2.1.2.1.3.2.1
1.17.1.2.1.2.1.4
1.17.1.2.1.2.1.5
1.17.1.2.1.2.1.5.1.1
1.17.1.2.1.2.1.5.1.2
1.17.1.2.1.2.1.5.1.2.1.1
1.17.1.2.1.3
1.17.1.2.1.4
1.18
1.19
现在,我想填充它像一个
1.17
1.17.1.1
1.17.1.2
1.17.1.2.1.1
1.17.1.2.1.2
1.17.1.2.1.2.1.1
1.17.1.2.1.2.1.2
1.17.1.2.1.2.1.3
1.17.1.2.1.2.1.3.1.1
1.17.1.2.1.2.1.3.1.2
1.17.1.2.1.2.1.3.2.1
1.17.1.2.1.2.1.4
1.17.1.2.1.2.1.5
1.17.1.2.1.2.1.5.1.1
1.17.1.2.1.2.1.5.1.2
1.17.1.2.1.2.1.5.1.2.1.1
1.17.1.2.1.3
1.17.1.2.1.4
1.18
1.19
我的想法是按级别分类的
1.17 -> level 1
1.17.1.1 -> level 2
1.17.1.2 -> level 2
1.17.1.2.1.1 -> level 3
...
然后我使用 switch case 将其填充到树视图
if level = 1 then parent node
else if level = 2 then child node
else if level = 3 then grandchild node
...
但是,我不知道这是实现我的目的的正确方法。有没有更好的方法来做到这一点?
任何帮助都非常感谢和感谢
【问题讨论】:
-
树是一种固有的递归结构。因此,应该使用递归来构建或遍历树。您可以将您的版本号拆分为数组,然后使用递归将同一索引处具有相同值的所有那些视为一个组,并递归遍历整个批次。和往常一样,先手动开发算法,然后编写代码来实现算法。
-
@jmcilhinney 这是一个伟大的理想。非常感谢您的解决方案。让我尝试用它来实现。 :)
标签: c# vb.net treeview revision