日期:2014-05-18  浏览次数:20887 次

会树的朋友,指教一下
-主菜单
--一级菜单
----一级子菜单1
----一级子菜单2
--二级菜单
--三级菜单
--四级菜单
 可以点击主菜单 点添加,然后生成的是一级菜单,点击一级菜单,生成的是一级子菜单。
 求做过树的人,分享你的代码仅供参考。谢谢

------解决方案--------------------

通过选中节点。。。或指定节点的ID去数据库里查询出它的子节点数据。。

for或foreach循环。。。循环添加到指定节点上

用TreeView的ID.SelectedNode.ChildNodes.Add

或用TreeView的ID.Nodes[index].ChildNodes.Add
------解决方案--------------------
如果你的视图需要展开所有子孙节点,那就把数据全部取出来并绑定,递归吧
但如果此时树已经超过可见区域,还是别这么弄,绑定一级节点,然后根据用户动作异步绑定下级节点
------解决方案--------------------
treeView.MouseClick += new System.Windows.Forms.MouseEventHandler(this.treeView_MouseClick);

private void treeView_MouseClick(object sender, MouseEventArgs e)
{
TreeNode treeNode = treeView.GetNodeAt(e.X, e.Y);
if ()//你的判断条件,判断点击的node第几层节点。额外的节点信息可以放在treeNode.Tag里
{
treeNode.Nodes.Add(new TreeNode());
}
 } 

------解决方案--------------------
http://topic.csdn.net/u/20120324/21/c2784a5b-c359-40f1-a250-ab96be1bb71f.html

原理都是一样的。递归调用。