C# TreeView單擊父節點新增子節點
阿新 • • 發佈:2018-12-12
/// <summary> /// 初始化樹形結構 /// </summary> /// <param name="tv"></param> public static void InitTmplTreeView(TreeView tv) { IList<Sys_Dictionary> list = BLLSvc.Dic.GetByGroupCode(Sys_Dictionary.CAE_BIZ_TYPE_GROUP_CODE); //獲取父節點要繫結的資料 if (list == null) { return; } foreach (Sys_Dictionary item in list) { TreeNode tnTool = new TreeNode(item.Name) { Tag = item }; //父節點要顯示的數值欄位 tv.Nodes.Add(tnTool); } } /// <summary> /// 處理樹形檢視選擇事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tvTmpl_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Node == null) { return; } GetChildrenWfCAETreeNodes(e.Node); e.Node.ExpandAll(); //展開所有節點 } /// <summary> /// 獲取子節點 /// </summary> /// <param name="parentNode"></param> public static void GetChildrenWfCAETreeNodes(TreeNode parentNode) { if (parentNode == null) return; parentNode.Nodes.Clear(); if (parentNode.Tag is Sys_Dictionary) //判斷是節點的型別 { string itemCode = BLLSvc.Dic.GetItemCode(Sys_Dictionary.CAE_BIZ_TYPE_GROUP_CODE, parentNode.Text); //通過父節點的itemCode去尋找要關聯的子節點 Wfm_Template findTmpl = new Wfm_Template(); findTmpl.CAETypeDic = itemCode; IList<Wfm_Template> tmplList = BLLSvc.Tmpl.FindByEntity(findTmpl);//獲取到子節點資訊 foreach (Wfm_Template tmpl in tmplList) { TreeNode tr = new TreeNode(tmpl.Name) { Tag = tmpl }; parentNode.Nodes.Add(tr); } } }