wucf2004的博客

asp.net和ajax
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

asp.net无限级分类递归实现方法一

Posted on 2007-06-02 16:15  wucf2004  阅读(718)  评论(0编辑  收藏  举报

 

递归添加树的节点   
  
public   void   AddTree(int   ParentID,TreeNode   pNode)     
  
{   
  DataTable   ds
=(DataTable)   this.ViewState["ds"];     
  DataView   dvTree   
=   new   DataView(ds);   
  
//过滤ParentID,得到当前的所有子节点   
  dvTree.RowFilter   =   "[F_PARENTID]   =   "   +   ParentID;   
    
  
foreach(DataRowView   Row   in   dvTree)     
  
{   
  TreeNode   Node
=new   TreeNode()   ;   
  
if(pNode   ==   null)     
  
{         //添加根节点   
  Node.Text=   Row["F_Name"].ToString();   
  TreeView1.Nodes.Add(Node);   
  Node.Expanded   
=   true;   
  
//Node.NavigateUrl   =   null;   
  AddTree(Int32.Parse(Row["F_ID"].ToString()),   Node);         //再次递归   
  }
     
  
else     
  
{       //添加当前节点的子节点   
  Node.Text   =   Row["F_Name"].ToString();   
  pNode.Nodes.Add(Node);   
  Node.Expanded   
=   false;   
  
if(!ValidateUtil.isBlank(Row["F_URL"].ToString()))   
  Node.NavigateUrl   
=   Row["F_URL"].ToString();   
  Node.Target   
=   "mainFrame";   
  AddTree(Int32.Parse(Row[
"F_ID"].ToString()),Node);           //再次递归   
  }
   
  }
                                         
  }