下面的例子经过本人调试成功。 数据库的表结构是cur_id,par_id,f_name.其中:所有的根结点的par_id为-1;而且所有的字段均为VARCHAR2类型。
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'在此处放置初始化页的用户代码
If Not IsPostBack Then
intiTree(TreeView2.Nodes, "-1")
End If
End Sub
Private Sub intiTree(ByRef Nds As TreeNodeCollection, ByVal parentId As String)
Dim sql As String = "select * from xj.treeview where par_id='" + parentId + "'"
Dim myDataAdapter As New OleDbDataAdapter(sql, con)
Dim ds As New DataSet()
myDataAdapter.Fill(ds, "tree")
Dim mydatable As DataTable
mydatable = ds.Tables("tree")
If mydatable.Rows.Count = 0 Then
Exit Sub
End If
Dim drv As DataRowView
Dim tmpNd As TreeNode
For Each drv In mydatable.DefaultView
tmpNd = New TreeNode()
Dim strid As String
strid = drv("CUR_ID")
tmpNd.ID = strid
tmpNd.Text = drv("F_NAME")
Nds.Add(tmpNd)
intiTree(tmpNd.Nodes, strid)
Next
End Sub