首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

100分求解:用循环向Treeview中添加nodes有关问题

2011-12-29 
100分求解:用循环向Treeview中添加nodes问题有如下几个节点变量:变量节点名称路径item(1)RootRootitem(2)1

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很好的工具

热点排行