急,treeview节点问题,谢谢各位高手!
vb6中treeview+msxml3的节点问题 :
---------------------
实现添加,删除操作,结果储存在xml中
问题
1> 有无其它方式做treeview的节点问题,实现添加,保存,删除
2> 先帮忙请看这段代码
实现添加,删除节点操作,以下是xml保存情况(test)
<NODES>
<NODE Caption="tw" Key="pp" Tag="" ParentKey=""/>
<NODE Caption="soft" Key="child01" Tag="" ParentKey="pp"/>
<NODE Caption="word" Key="child02" Tag="" ParentKey="pp"/>
<NODE Caption="tw1" Key="tw1" Tag="" ParentKey=""/>
<NODE Caption="1001" Key="child3" Tag="" ParentKey="pp1"/>
<NODE Caption="1002" Key="child4" Tag="" ParentKey="pp1"/>
<NODE Caption="1003" Key="child6" Tag="" ParentKey="pp1"/>
<NODE Caption="1004" Key="child7" Tag="" ParentKey="pp1"/>
<NODE Caption="tw2" Key="tw2" Tag="" ParentKey=""/>
<NODE Caption="2001" Key="child8" Tag="" ParentKey="pp2"/>
<NODE Caption="2002" Key="child10" Tag="" ParentKey="pp2"/>
<NODE Caption="2003" Key="child11" Tag="" ParentKey="pp2"/>
<NODE Caption="2004" Key="child12" Tag="" ParentKey="pp2"/>
</NODES>
-----------------------
删除节点后,重新读取xml为:
<NODES>
<NODE Caption="tw" Key="pp" Tag="" ParentKey=""/>
<NODE Caption="soft" Key="child01" Tag="" ParentKey="pp"/>
<NODE Caption="word" Key="child02" Tag="" ParentKey="pp"/>
<NODE Caption="tw1" Key="tw1" Tag="" ParentKey=""/>
<NODE Caption="1001" Key="child3" Tag="" ParentKey="pp1"/>
<NODE Caption="1003" Key="child6" Tag="" ParentKey="pp1"/>
<NODE Caption="1004" Key="child7" Tag="" ParentKey="pp1"/>
<NODE Caption="tw2" Key="tw2" Tag="" ParentKey=""/>
<NODE Caption="2001" Key="child8" Tag="" ParentKey="pp2"/>
<NODE Caption="2002" Key="child10" Tag="" ParentKey="pp2"/>
<NODE Caption="2003" Key="child11" Tag="" ParentKey="pp2"/>
<NODE Caption="2004" Key="child12" Tag="" ParentKey="pp2"/>
</NODES>
---------------------------------
以下是添加command的代码:
Private Sub Command1_Click()
If Txt0.Text <> "" And Txt1.Text <> "" Then '不允许建立零字节的父节点和子节点
CunZai = False
J = SmartTreeView.Nodes.Count
For I = 1 To SmartTreeView.Nodes.Count '检查新输入的父节点名称是否存在
'If SmartTreeView.SelectedItem.children > 1 Then
If Txt0.Text = SmartTreeView.Nodes(I).Text Then CunZai = True
'End If
Next I
If CunZai = True Then '若存在, 则在父节点下建立子节点
Set nodx = SmartTreeView.Nodes.Add(Txt0.Text, tvwChild, "child" & J, Txt1.Text, 3)
Else '若不存在,则建立父节点和子节点
Set nodx = SmartTreeView.Nodes.Add(, , Txt0.Text, Txt0.Text, 1)
Set nodx = SmartTreeView.Nodes.Add(Txt0.Text, tvwChild, "child" & J, Txt1.Text, 3)
End If
SmartTreeView.Refresh
ElseIf Txt0.Text = "" Then MsgBox "请输入父节点名称!", vbInformation, "警告!"
'系统提示
ElseIf Txt1.Text = "" Then MsgBox "请输入子节点名称!", vbInformation, "警告!"
End If
End Sub
问题:
当comamnd删除中间一子节点,则不能添加子节点(为什么),比如删除的节点为
<NODE Caption="1002" Key="child4" Tag="" ParentKey="pp1"/>
当comamnd删除最末一子节点,则添加,删除情况正常。
同样父节点也出现这个问题,为什么?
----------------------
请指点,小弟谢过。