这是我动态从数据库上来的数据,请问我在点击“所有权限”的时候怎样让所有节点都勾选,相反也是。
在勾选某一个父节点时也让下面的子节点都勾选。WinForm

解决方案 »

  1.   

    递归,参考http://blog.csdn.net/maji9370/article/details/4293276
      

  2.   

    获取当前节点信息,然后递归勾去下面的子节点nodes
      

  3.   

    谢谢,在帮我看看上面的问题嘛  foreach后,找到treeview这个控件,实例化一个treenode这个对象,这个对象肯定是null,rv.checked有什么用?
      

  4.   

    谢谢,在帮我看看上面的问题嘛  foreach后,找到treeview这个控件,实例化一个treenode这个对象,这个对象肯定是null,rv.checked有什么用?就是啊,你创建一个势力TreeNode对象后,不要用if判断了
    直接让他checked为true,然后添加到上一级的节点下
      

  5.   

    谢谢,在帮我看看上面的问题嘛  foreach后,找到treeview这个控件,实例化一个treenode这个对象,这个对象肯定是null,rv.checked有什么用?就是啊,你创建一个势力TreeNode对象后,不要用if判断了
    直接让他checked为true,然后添加到上一级的节点下
    怎样添加到上级节点哦??
      

  6.   

    谢谢,在帮我看看上面的问题嘛  foreach后,找到treeview这个控件,实例化一个treenode这个对象,这个对象肯定是null,rv.checked有什么用?
    就是不知道怎样转换的嘛  
      

  7.   

    谢谢,在帮我看看上面的问题嘛  foreach后,找到treeview这个控件,实例化一个treenode这个对象,这个对象肯定是null,rv.checked有什么用?
    如果我选择全部,勾选所有权限,在设置的时候怎样把“所有权限”排除掉不添加这一项呢。
      

  8.   

    谢谢,在帮我看看上面的问题嘛  foreach后,找到treeview这个控件,实例化一个treenode这个对象,这个对象肯定是null,rv.checked有什么用?就是啊,你创建一个势力TreeNode对象后,不要用if判断了
    直接让他checked为true,然后添加到上一级的节点下
    怎样添加到上级节点哦??你首先能获取到点击的节点
    treeView1.SelectedNode 这是你点击的节点
    treeView1.SelectedNode。nodes 这是点击节点下的节点集合
    然后循环这个集合又能获取到下面的节点啦~
      

  9.   

    谢谢,在帮我看看上面的问题嘛  foreach后,找到treeview这个控件,实例化一个treenode这个对象,这个对象肯定是null,rv.checked有什么用?
    如果我选择全部,勾选所有权限,在设置的时候怎样把“所有权限”排除掉不添加这一项呢。
    递归,判断哪里节点checked了,判断是哪些节点是不需要的.
      

  10.   

    大家说的已经很清楚了,递归遍历。
    你这个方法找到了树,根本没去找树中的节点
     
                if (con is TreeView)
                {
                    TreeView tvTemp = con as TreeView;
                    foreach (TreeNode node in tvTemp.Nodes)
                    {
                        //递归处理节点信息                    
                    }
                }
    再添加递归处理方法,以TreeNode作为参数,遍历所有子节点。
    在递归方法中处理节点信息……