生成一个数,每个节点都checkbox=true,遍历整个树,如何判中checkbox是否勾选,并得到勾选Node的id值?
private void GetAllNodeText(TreeNodeCollection tnc) 
{
string getText ="";
foreach(TreeNode node in tnc) 

if(node.Nodes.Count!=0 && node.CheckBox==true) 
GetAllNodeText(node.Nodes); 

Response.Write(node.Text + "," + node.ID.ToString() +"<br>"); 
}
}我用上面的方法只能得到根节点的值,请高手指点一下!

解决方案 »

  1.   

    函数没有错,你怎么调用的?注意调用的参数不是node,是nodecollection
      

  2.   

    需要用一个递归,类似于下面这段代码
    private void button2_Click(object sender, System.EventArgs e) //遍历整个树
    {
      TreeNodeCollection nodes = treeView1.Nodes;
      foreach (TreeNode node in nodes)
      {
        showName(node);
      }
    }private void showName(TreeNode treenode) //递归检测每个分支下的节点
     {
      foreach (TreeNode tn in treenode.Nodes)  {
        if (tn.Checked)
         加入相关代码
        showName(tn);
       }
    }
      

  3.   

    if(node.Nodes.Count!=0 && node.CheckBox==true) 
    --->
    if(node.CheckBox==true) 
      

  4.   

    private void Button1_Click(object sender, System.EventArgs e)
    {
    foreach (TreeNode n in TreeView1.Nodes)
    {
    GetNodes(n);
    if (n.Checked)
    Response.Write(n.Text +"<br>");
    }
    }
    public void GetNodes(TreeNode ns)
    {
    foreach (TreeNode n in ns.Nodes)
    {
    if (n.Checked)
    {
    Response.Write(n.Text +"<br>");
    }
    GetNodes(n);
    }

    }