PRotected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { bindTree(); } } private void bindTree() { ALIYUN_PIC.BLL.Folder_oper_BLL bll = new Folder_oper_BLL(); DataTable dt = bll.PIC_Bind();//得到需要的datatable this.FillNode(dt, null); } private void FillNode(DataTable dt, TreeNode node) { DataView dv = new DataView(dt); if (node == null) //根結點 { dv.RowFilter = "PARENT_NODE='0'"; //篩選到根結點的所有子節點 } else //不是根結點 { dv.RowFilter = "PARENT_NODE='" + node.Value + "'"; //篩選對應節點的所有子節點 } foreach (DataRowView drv in dv) //遍歷填充節點的所有子節點,如果傳入的節點node為葉子節點,遍歷要退出,不再進行遞歸 { TreeNode no = new TreeNode(drv["NODE_NAME"].ToString(), drv["id"].ToString()); FillNode(dt, no); //填充no節點的子節點 if (node == null) { this.PIC_TREE.Nodes.Add(no); } else { node.ChildNodes.Add(no); } } }
新聞熱點
疑難解答