我想把treeView1的所有子节点的名字取出来,保存在一个ArrayList里面
怎么实现啊

解决方案 »

  1.   

    简单,你在绑定TreeView数据的时候再另存一份数据给ArrayList不就行了!
      

  2.   

    .遍历TreeView节点(递归算法)
    private   void   Page_Load(object   sender,   System.EventArgs   e)
    {
    GetAllNodeText(TreeView1.Nodes);
    }
    void   GetAllNodeText(TreeNodeCollection   tnc)
    {
    foreach(TreeNode   node   in   tnc)
    {
    if(node.Nodes.Count!=0)
    GetAllNodeText(node.Nodes);
    Response.Write(node.Text   +   "   ");
    }
    }
      

  3.   

    TreeView的节点数据没有放在数据库里 
    我是在属性里面定死了的,当时没考虑到那个方面,没什么经验。
      

  4.   

    //从Treeview中寻找被选中的所有节点
    function FindChecked(tree,txt)
    {
      document.Form1.txtChecked.value = '';
      FindCheckedFromTree(tree,txt);
    }
    function FindCheckedFromTree(tree,txt) 
    {
    var i = 0;
    var node;
    var sorts="";
    while ((node=tree.getTreeNode(i.toString(10))) != null) 
    {
        sorts=node.getAttribute("Text");
        sorts+="->";
    if (node.getAttribute("Checked"))
    {
    //AddChecked(node,txt);
    txt.value +=sorts;
    txt.value +=" ";
    i = i + 1;
    continue;
    }
    FindCheckedFromNode(node,sorts,txt);
    i = i + 1;
    }//while
    }//从一个节点寻找其中所有被选中节点(递归)
    function FindCheckedFromNode(node,sorts,txt) 
    {
    var i = 0;
    var nodes = new Array();
    //window.alert("aaaaaaaaaaaaaaaaaaaaaaaaa");
    //debugger;
    nodes = node.getChildren();

    //alert('Now searching ' + ':   ' + node.getAttribute("Text"));
    for (i = 0; i < nodes.length; i++) 
    {
    var cNode;
    cNode=nodes[i];
    sorts+=cNode.getAttribute("Text");
    sorts+="->";
    if (cNode.getAttribute("Checked"))
    {
    //AddChecked(cNode,txt);
    txt.value +=sorts;
    txt.value +=" ";
    break;
    }

    if (parseInt(cNode.getChildren().length) != 0 ) {
    FindCheckedFromNode(cNode,sorts,txt);
    }
    }
    }