Private Sub Form_Load()
Dim ClNode As Integer
Dim nodx As MSComctlLib.Node
Dim r2 As ADODB.Recordset Dim r3 As ADODB.Recordset ClNode = 0
Set r2 = New RecordsetSet nodx = TreeView1.Nodes.Add(, , "X", "全网")
r2.Open "select area,gw,pa,cs_index,cstype from t_cs_inf ", CN, adOpenDynamic, adLockPessimistic
For i = 1 To 3
TreeView1.Nodes.Add "X" & Trim(r2("area")), tvwChild, "X" & Trim(r2("gw")), r2("pa"), r2("cstype")
r2.MoveNext
Next i
With TreeView1
.Nodes(1).Expanded = True
.Nodes(2).Expanded = True
.Nodes(3).Expanded = True
.Nodes(4).Expanded = True
.Nodes(5).Expanded = True
.Refresh
End With
End Sub
Dim ClNode As Integer
Dim nodx As MSComctlLib.Node
Dim r2 As ADODB.Recordset Dim r3 As ADODB.Recordset ClNode = 0
Set r2 = New RecordsetSet nodx = TreeView1.Nodes.Add(, , "X", "全网")
r2.Open "select area,gw,pa,cs_index,cstype from t_cs_inf ", CN, adOpenDynamic, adLockPessimistic
For i = 1 To 3
TreeView1.Nodes.Add "X" & Trim(r2("area")), tvwChild, "X" & Trim(r2("gw")), r2("pa"), r2("cstype")
r2.MoveNext
Next i
With TreeView1
.Nodes(1).Expanded = True
.Nodes(2).Expanded = True
.Nodes(3).Expanded = True
.Nodes(4).Expanded = True
.Nodes(5).Expanded = True
.Refresh
End With
End Sub
TreeView1.Nodes.Add "X" & Trim(r2("area")), tvwChild, "X" & Trim(r2("gw")), r2("pa"), r2("cstype")
r2.MoveNext
Next i最好改为:
if not r2.BOF and not r2.Eof then
for i=1 to r2.RecordCount
……
next
end if
For i = 1 To 3
TreeView1.Nodes.Add "X" & Trim(r2("area")), tvwChild, "X" & Trim(r2("gw")), r2("pa"), r2("cstype")
r2.MoveNext当i=1的时候,for循环里面是:
TreeView1.Nodes.Add "X" & Trim(r2("area")), tvwChild, "X" & Trim(r2("gw")), r2("pa"), r2("cstype")看你上面的代码,这个时候节点"X" & Trim(r2("area"))并不存在,你想要添加一个节点作为它的子节点,自然是不可能的。似乎你应该改为:
For i = 1 To 3
TreeView1.Nodes.Add "X", tvwChild, "X" & Trim(r2("gw")), r2("pa"), r2("cstype")
r2.MoveNext
因为节点"X"是已经添加了的。只是猜测,因为不知道你的需求。