以下是测试通过的 你的Page里要定义autoeventWireup="false", 不难你的DataSet会执行好几次Fill InitTree(TreeView1.Nodes, 0) 你要保证0是根节点 <%@Page Language="VB" Debug="true" autoeventWireup="false" %> <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> <%@Register Tagprefix="ie" namespace="Microsoft.Web.Ui.Webcontrols" Assembly="Microsoft.Web.Ui.webcontrols"%> <html> <head> <script language="vb" runat=server> Public ds As New DataSet() Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '在此处放置初始化页的用户代码 If Not IsPostBack Then CreateDataSet() InitTree(TreeView1.Nodes, 0) End If End Sub Private Sub CreateDataSet() 'Dim ds As new DataSet Dim str As String = "server=pany;database=pany;uid=sa;pwd=123" Dim myconn As New SqlConnection(str) Dim myDataAdapter As New SqlDataAdapter("SELECT * FROM TREE", myConn) myDataAdapter.Fill(ds, "tree") End Sub Private Sub InitTree(Nds As TreeNodeCollection, parentId As Integer) Dim dv As New DataView() Dim drv As DataRowView Dim tmpNd As TreeNode Dim i As Integer dv.Table = ds.Tables("tree") dv.RowFilter = "Father_Id='" & parentId & "'" For Each drv In dv tmpNd = New TreeNode() tmpNd.ID = drv("child_id") tmpNd.Text = drv("name") tmpNd.NavigateUrl = drv("url") tmpNd.Target = "_blank" i = drv("father_id") Nds.Add(tmpNd) parentId = drv("father_id") InitTree(Nds(Nds.Count - 1).Nodes, tmpNd.ID) Next End Sub </script> </head> <body> <form id=form1 runat=server> <ie:TreeView ID="TreeView1" runat="server" /> </form>
Private Sub InitTree(Nds As TreeNodeCollection, parentId As Integer) 这个函数定义也不会ByRef , ByVal
——————————@_@————————
good good study
day day up
__________________^@^_________________
http://www.chinabs.net/aspnet/default.asp?infoid=106
InitTree(TreeView1.Nodes, 999)你是否有999这个ID的节点?
你的Page里要定义autoeventWireup="false", 不难你的DataSet会执行好几次Fill
InitTree(TreeView1.Nodes, 0) 你要保证0是根节点
<%@Page Language="VB" Debug="true" autoeventWireup="false" %>
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
<%@Register Tagprefix="ie" namespace="Microsoft.Web.Ui.Webcontrols" Assembly="Microsoft.Web.Ui.webcontrols"%>
<html>
<head>
<script language="vb" runat=server>
Public ds As New DataSet()
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
CreateDataSet()
InitTree(TreeView1.Nodes, 0)
End If
End Sub
Private Sub CreateDataSet()
'Dim ds As new DataSet
Dim str As String = "server=pany;database=pany;uid=sa;pwd=123"
Dim myconn As New SqlConnection(str)
Dim myDataAdapter As New SqlDataAdapter("SELECT * FROM TREE", myConn)
myDataAdapter.Fill(ds, "tree")
End Sub
Private Sub InitTree(Nds As TreeNodeCollection, parentId As Integer)
Dim dv As New DataView()
Dim drv As DataRowView
Dim tmpNd As TreeNode
Dim i As Integer
dv.Table = ds.Tables("tree")
dv.RowFilter = "Father_Id='" & parentId & "'"
For Each drv In dv
tmpNd = New TreeNode()
tmpNd.ID = drv("child_id")
tmpNd.Text = drv("name")
tmpNd.NavigateUrl = drv("url")
tmpNd.Target = "_blank"
i = drv("father_id")
Nds.Add(tmpNd)
parentId = drv("father_id")
InitTree(Nds(Nds.Count - 1).Nodes, tmpNd.ID)
Next
End Sub
</script>
</head>
<body>
<form id=form1 runat=server>
<ie:TreeView ID="TreeView1" runat="server" />
</form>
这个函数定义也不会ByRef , ByVal
10 0 微软网站 1 http://www.microsoft.com
20 0 新浪 1 http://www.sina.com.cn
30 0 163网易 1 http://www.163.com
1010 10 校友录 1 http://www.chinaren.com
1020 10 GOOGLE 2 http://www.google.com
2010 20 CSDN 1 http://www.csdn.net
102010 1020 我的主页 1 http://pany.533.net