首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

treeview与数据库的有关问题?

2011-12-18 
treeview与数据库的问题????在Vs2005中,我用vb.net来写Winform表:Idbigkindkin_idSmind1aa1aa112aa2aa223b

treeview与数据库的问题????
在Vs2005中,我用vb.net来写Winform
  表:
      Id           bigkind             kin_id           Smind        
      1               aa                       1                   aa11      
      2               aa                       2                   aa22      
      3               bb                       1                   bb11        
      4               bb                       2                   bb11        
      5               cc                       1                   cc11    

在treeview中显示的格式为:
      aa
          ...aa11
          ...aa22
      bb
          ...bb11
          ...bb22
      cc

请问该怎么样来实现....      



[解决办法]
To dadihongchang
首行,建立一个DataTable用于容纳例中的数据,结构与你的表相同.
然后,从这个DT从依次检索记录,往TREEVIEW上插入节点,插入的方法如下.(假设已经存在一个容纳了标准数据的DT)
Dim mrow As DataRow
Dim mNode As TreeNode
Dim tmpNode As TreeNode
Dim need As Boolean = True

For Each mrow In mDT.Rows
If trv1.Nodes(0).Nodes.Count > 0 Then
For Each mNode In trv1.Nodes(0).Nodes
If mNode.Tag = mrow(0) Then
mNode.Nodes.Add(mrow(2))
need = False
Exit For
End If
Next
End If
If need Then
tmpNode = trv1.Nodes(0).Nodes.Add(mrow(0))
tmpNode.Tag = mrow(0)
tmpNode.Nodes.Add(mrow(2))
End If
need = True
Next
trv1.ExpandAll()

[解决办法]
就是看kin_id是和哪一个Id对应的,把这个节点加到ID的节点上就可以了
[解决办法]
这个里面有双重循环,好像效率不高。
dim root as new treenodes

for each mRow in mDT.rows
'假设table已经存在
if root.text <> mRow.item(1) then
root=treeview1.nodes.add(mRow.item(1))
'如果当前行没有父节点,则为其先添加父节点
end if
root.nodes.add(mRow.item(3))
'添加当前行作为子节点
next

热点排行