以下可以实现:
如何全选TREENODE的Checkbox
选中
node.setAttribute("Checked","True");js遍历所有节点
 var AllRootNode=new Array();
 AllRootNode=TreeView1.getChildren();
 AlertNode(AllRootNode);    function AlertNode(NodeArray)
 {
  if(parseInt(NodeArray.length)==0)
   return;
  else
  {
   for(i=0;i<NodeArray.length;i++)
   {
    var cNode;
    cNode=NodeArray[i];
    alert(cNode.getAttribute("Text"));
    if(parseInt(cNode.getChildren().length)!=0)
     AlertNode(cNode.getChildren());    
   }
  }
 }

解决方案 »

  1.   

    如果TreeView中的任一节点的CheckBox=true,则当前节点的所有子节点的CheckBox变为true,并且使当前节点的父节点CheckBox变为true;
    ------------------------------------------------------------------------------
    哈哈,罗嗦。这不就是:让所有结点的checkBox=true 吗?!
      

  2.   

    to singleflower(shifan) :上边是引用hgknight的方法.我很没那么厉害
      

  3.   

    C# treeView没有TreeView1.getChildren()方法啊
      

  4.   

    C# treeView没有TreeView1.getChildren()方法啊
    //那是JS的,在客户端实现,而不是你的CodeBehind代码
      

  5.   

    private void treeView1_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
    {
    TreeNode tn = e.Node;
    switch(e.Action)
    {
    //只处理鼠标产生的改变
    case TreeViewAction.ByMouse:
    if(tn.Checked)
    {
    //子节点为True,则父节点也为True
    this.setParentNodeCheck(tn,true); //父节点为True,则所有子节点为True
    this.setChildNodeCheck(tn,true);
    }
    else
    {
    //父节点False,则子节点全部False
    this.setChildNodeCheck(tn,false); //这个循环使当前指针指到同辈树节点的最后一个
    while(tn.NextNode != null)
    {
    tn = tn.NextNode;
    } bool bValue = false;
    TreeNode tNode = null;
    while(true)
    {//判断是否同辈树节点里是否没有选中的叶子
    if(tn != null)
    {
    if(tn.Checked)
    {//如果有选中的叶子,跳出循环
    bValue = true;
    break;
    }
    tNode = tn;
    tn = tn.PrevNode;
    }
    else
    {
    tn = tNode;
    break;
    }
    } //如果父节点存在,则父节点选中的状态=bValue
    this.setParentNodeCheck(tn,bValue);
    }
    break;
    }
    } /// <summary>
    /// 递归函数,设置父节点的Check值。
    /// </summary>
    /// <param name="tNode">节点</param>
    /// <param name="bValue">父节点的布尔值</param>
    private void setParentNodeCheck(TreeNode tNode,bool bValue)
    {
    if(tNode.Parent != null)
    {
    tNode.Parent.Checked = bValue;
    this.setParentNodeCheck(tNode.Parent,bValue);
    }
    } /// <summary>
    /// 递归函数,设置子节点的Check值。
    /// </summary>
    /// <param name="tNode">节点</param>
    /// <param name="bValue">子节点的布尔值</param>
    private void setChildNodeCheck(TreeNode tNode,bool bValue)
    {
    foreach(TreeNode tnChild in tNode.Nodes)
    {
    tnChild.Checked = bValue;
    this.setChildNodeCheck(tnChild,bValue);
    }
    }
      

  6.   

    我需要的不是System.Windows.Forms,而是WebForm
      

  7.   

    我只是提供一种方法而已!
    我没有写过WebForm的TreeView,但是我想他们是相通的!
    你只要做一些修改即可!