1 protected void Page_Load(object sender, EventArgs e) 2 { 3 bindtree(PopId); 4 } 5 private void bindtree() 6 { 7 TreeView1.Nodes.Clear(); 8 AddTree(0, (TreeNode)null); 9 } 10 public void AddTree(int ParentID, TreeNode pNode) 11 { 12 DataTable dt = new DataTable(); 13 //数据源 14 dt = logbll.BindPop(); 15 DataView dvTree = new DataView(dt); 16 //过滤ParentID,得到当前的所有子节点 17 dvTree.RowFilter = "flid = " + ParentID; 18 19 foreach (DataRowView Row in dvTree) 20 { 21 TreeNode Node = new TreeNode(); 22 if (pNode == null) 23 { //添加根节点 24 Node.Text = Row["PopName"].ToString(); 25 TreeView1.Nodes.Add(Node); 26 //Node.Expanded = true; 27 28 AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归 29 } 30 else 31 { //添加当前节点的子节点 32 Node.Text = Row["PopName"].ToString(); 33 Node.NavigateUrl = Row["PostUrl"].ToString(); 34 pNode.ChildNodes.Add(Node); 35 //Node.Expanded = true; 36 AddTree(Int32.Parse(Row["PopId"].ToString()), Node); //再次递归 37 } 38 } 39 }