我上面程序有些错误,本来应该如下 Private Function getNodeId(ByVal Nd As TreeNode) As String Dim tmpNd As TreeNode Dim strID As String strID = Nd.ID For Each tmpNd In Nd.Nodes If tmpNd.Nodes.Count = 0 Then strID = strID + tmpNd.ID ElseIf tmpNd.Nodes.Count > 0 Then strID = strID + tmpNd.Text getNodeId(tmpNd) End If Next Return strID End Function我的重点问题不是楼上两位的Text和ID的问题,而是怎样获取全部节点(包括子节点的子节点)。上面这段程序返回的只是当前节点和下一层节点的ID,帮我看看错在哪里
vb的代码我不太熟给你段c#的: foreach(tmpNd In Nd.Nodes) {
Init_Tree(tmpNd [tmpNd .Count-1].Nodes);//递归调用
}
Private Function getNodeId(ByVal Nd As TreeNode) As String Dim tmpNd As TreeNode Dim strID As String strID = Nd.ID For Each tmpNd In Nd.Nodes If tmpNd.Nodes.Count = 0 Then strID = strID + tmpNd.ID ElseIf tmpNd.Nodes.Count > 0 Then strID = strID + tmpNd.Text for(i=0;i<count;i++) { getNodeId(tmpNd[i]) } End If Next Return strID End Function
Private Function getNodeId(ByVal Nd As TreeNode) As String
Dim tmpNd As TreeNode
Dim strID As String
strID = Nd.ID
For Each tmpNd In Nd.Nodes
If tmpNd.Nodes.Count = 0 Then
strID = strID + tmpNd.ID
ElseIf tmpNd.Nodes.Count > 0 Then
strID = strID + tmpNd.Text
getNodeId(tmpNd)
End If
Next
Return strID
End Function我的重点问题不是楼上两位的Text和ID的问题,而是怎样获取全部节点(包括子节点的子节点)。上面这段程序返回的只是当前节点和下一层节点的ID,帮我看看错在哪里
foreach(tmpNd In Nd.Nodes)
{
Init_Tree(tmpNd [tmpNd .Count-1].Nodes);//递归调用
}
Dim tmpNd As TreeNode
Dim strID As String
strID = Nd.ID
For Each tmpNd In Nd.Nodes
If tmpNd.Nodes.Count = 0 Then
strID = strID + tmpNd.ID
ElseIf tmpNd.Nodes.Count > 0 Then
strID = strID + tmpNd.Text
for(i=0;i<count;i++)
{
getNodeId(tmpNd[i])
}
End If
Next
Return strID
End Function