I found an example from microsoft which is pretty much what i want but it is in vb6 and i am unsure on how to code it for vb.net. Here is what it looks like...
The database looks like this...
Key Parent Text image selectedimage
1_ 0_ Last 1_ 1 2
2_ 1_ Child 3_ 1 2
3_ 1_ Child 4_ 1 2
4_ 0_ Last 2_ 1 2
5_ 2_ Child 5_ 1 2
The code looks like this......
Do While mRS.EOF = False
nImage = mRS.Fields("image"

nSelectedImage = mRS.Fields("selectedimage"

if Trim(mRS.Fields("parent"

) = "0_" Then ' All root nodes have 0_ in the parent field
Set oNodex = TreeView1.Nodes.Add(, 1, Trim(mRS.Fields("key"

), _
Trim(mRS.Fields("text"

), nImage, nSelectedImage)
Else ' All child nodes will have the parent key stored in the parent field
Set oNodex = TreeView1.Nodes.Add(Trim(mRS.Fields("parent"

), tvwChild, _
Trim(mRS.Fields("key"

), Trim(mRS.Fields("text"

), nImage, nSelectedImage)
oNodex.EnsureVisible ' expend the TreeView so all nodes are visible
End if
mRS.MoveNext
Loop
End if
In VB6 the syntax for the TreeView.Nodes.Add = TreeView.Nodes.Add(Relative,Relationship,key,Text,Image,SelectedImage)
in VB.Net the syntax is TreeView.Nodes.Add(text as String) so i am not sure how to convert, so if anyone can help i would really appreciate it. thanks