zoukankan      html  css  js  c++  java
  • 错误的递归

    为了能在webcontrols的Treeview中使用HTML 元素,试图用递归来产生Treeview的所有节点,
    下面是我的尝试代码,当然结果是错误的。






            
    public void Create1 ()
            
    {
                thisNode 
    =new TreeNode();
                TreeNode o 
    = new TreeNode();
                dp 
    = new Fiberxon.HR.Biz.Department();
                Fiberxon.HR.Biz.DeparmentNode RootDNode 
    = dp.GetRoot();
                o.Text  
    = RootDNode.getName();
                o.NodeData 
    = RootDNode.getDepartID();
                newNode(o);

                
            }

            
    public void newNode(TreeNode ParentNode)
            
    {
                Fiberxon.HR.Biz.DeparmentNode dnode 
    = new DeparmentNode(ParentNode.NodeData);
                
    if(dnode.IsRoot)
                
    {
                    thisNode.Nodes.Add(ParentNode);
                }

                
                
                
    if(!dnode.IsLeaf)
                
    {
                    
    for(int i=0;i<dnode.SubDepartmentCount;i++)
                    
    {
                        TreeNode node 
    = new TreeNode();//每次都被初始化调了,
                        node.Text 
    = dnode.GetSubNodes[i].getName();
                        node.NodeData 
    = dnode.GetSubNodes[i].getDepartID();
                        ParentNode.Nodes.Add(node);
                
    //        thisNode2 = new TreeNode();
                
    //        thisNode2 = node;
                        newNode(node);
                    }

                }

                
    else
                
    {                
                        
    return;
                    
                    
                    
                }


            
    //thisNode.Nodes.Add(ParentNode);
                
            
            
                



            }


    每次由于在循环中
      TreeNode node = new TreeNode() //初始化掉了。
    所以,节点最后返回并不是自己想要的层层嵌套的递归,
    而是只有一个值。

    ===============================
    Update by rock jing  on 2004-9-18
    ===============================
    那么怎么解决呢?
    我想是这么一个问题,那就是创建的节点必须保持存在,不能被重新new或者是覆盖。
    如果节点有50个,则必须创建50个TreeNode,
    并且在递归的时候 ,将子节点加入到父节点去。



  • 相关阅读:
    Chrome开发者工具中Elements(元素)断点的用途
    最简单的SAP云平台开发教程
    Java实现 LeetCode 495 提莫攻击
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 494 目标和
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 493 翻转对
    Java实现 LeetCode 492 构造矩形
  • 原文地址:https://www.cnblogs.com/king_astar/p/44119.html
Copyright © 2011-2022 走看看