using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Web.UI.WebControls;namespace Common...{ public class TreeControls ...{ private string NodeID; private string ParentNodeID; private string NodeName; private string NodeUrl; private System.Data.DataTable tabtree; private StringBuilder Filter; public TreeControls(DataTable tabtree, string NodeID, string ParentNodeID, string NodeName, string NodeUrl) ...{ this.NodeID = NodeID; this.ParentNodeID = ParentNodeID; this.NodeName = NodeName; this.NodeUrl = NodeUrl; this.tabtree = tabtree; } // 从根节点开始递归调用显示子树 public void InitTree(TreeNodeCollection Nds, string parentId) ...{ TreeNode tmpNd; Filter = new StringBuilder(); Filter.Append(this.ParentNodeID.ToString()); Filter.Append("='"); Filter.Append(parentId); Filter.Append("'"); DataRow[] rows = tabtree.Select(Filter.ToString()); foreach (DataRow row in rows) ...{ tmpNd = new TreeNode(); tmpNd.ID = row[this.NodeID.ToString()].ToString(); tmpNd.Text = row[this.NodeName.ToString()].ToString(); tmpNd.NavigateUrl = row[this.NodeUrl.ToString()].ToString(); Nds.Add(tmpNd); InitTree(tmpNd.Nodes, tmpNd.ID); } } }}