请教了,我添加了一个treeview1控件,想通过点击节点前的加号展开节点,展开后点击减号来折叠节点,请教要怎么实现啊,谢谢啦!

解决方案 »

  1.   

    这个是Treeview自带的功能
    你只需为Treeview绑定数据源就可以了。
      

  2.   

    真实的,treeview再没有这个功能,还叫什么treeview呀
      

  3.   

    treeview绑定数据源后就会自带这个功能,如果你的树是广度优先的话treeview有一个事件是点击节点
      

  4.   

    这个是Treeview自带的功能
    你只需为Treeview绑定数据源就可以了。
      

  5.   

     private void CreateTreeViewRecursive(TreeNodeCollection nodes, DataTable dataSource, int parentId)
        {
            //
            string fliter = String.Format("ParentId={0}", parentId);
            // 查询子节点
            DataRow[] drArr = dataSource.Select(fliter);        TreeNode node;
            foreach (DataRow dr in drArr)
            {
                //
                node = new TreeNode();
                nodes.Add(node);
                node.Text = (string)dr["NodeName"];
                // 设置其他属性
                //                  // 递归创建子节点
                int dr1 = Convert.ToInt16(dr["NodeId"].ToString());
                CreateTreeViewRecursive(node.ChildNodes, dataSource, dr1);            // 移除已添加行,提高性能
                dataSource.Rows.Remove(dr);
            }
        }
    创建节点代码,请教是不是有问题啊?
      

  6.   

    你的Treeview分几级?若级数固定,你能不能不用递归?
    若你要用递归  
      int dr1 = Convert.ToInt16(dr["NodeId"].ToString());
      CreateTreeViewRecursive(node.ChildNodes, dataSource, dr1);
    你这里该有判断吧,不可能一进来就调用递归塞,你这样就不是加子节点了,而全部都成了父节点。