100分求解:用循环向Treeview中添加nodes问题
有如下几个节点变量:
变量 节点名称 路径
item(1) Root Root
item(2) 1st_1 Root\1st_1
item(3) 1st_2 Root\1st_2
item(4) 1st_2 Root\1st_2\1st_2
(上面的变量,包括完整路径已知,可直接引用)
形成的树形状为:
Root
|---1st_1
|
|___1st_2
|___1st_2
要求循环遍历4个变量,然后将各变量根据其路径属性加入到树中
现遇到的问题主要是
1。1st_2有重复,虽然不在同一路径,所以key不能用节点名称,在循环中如何设置key值
2。用Set mnode = TreeView1.Nodes.Add()方法增加时,如何指定其父节点?
若有详细的Treeview的使用方法的源码提供参考也不胜感激~~~
[解决办法]
Set mnode = TreeView1.Nodes.Add(父节点,,..)
[解决办法]
Set nodX = TreeView1.Nodes.Add(, , "R ", "Root ")
Set nodX = TreeView1.Nodes.Add( "R ", tvwChild, "C1 ", "1st_1 ")
Set nodX = TreeView1.Nodes.Add( "R ", tvwChild, "C2 ", "1st_2 ")
Set nodX = TreeView1.Nodes.Add( "C2 ", tvwChild, "C3 ", "1st_2 ")
[解决办法]
Set nodX = TreeView1.Nodes.Add(, , "R ", "Root ")
Set nodX = TreeView1.Nodes.Add( "R ", tvwChild, "C1 ", "1st_1 ")
Set nodX = TreeView1.Nodes.Add( "R ", tvwChild, "C2 ", "1st_2 ")
Set nodX = TreeView1.Nodes.Add( "C2 ", tvwChild, "C3 ", "1st_2 ")
我在以上代码的基础上说,首先你的node是从哪里来呢?如果从数据的话很容易就配上唯一的key了。
找到key的方法完全依赖你的逻辑
你可以根据路径取第一个字符
R
R1
R2
R22
如果当前key不唯一可以R22_1这样
完全依赖你的逻辑了,因为通过key可以直接找到一个node,依据逻辑这个是你判断node很好的工具