private List <DepartmentTreeNode> BuildTreeNode(Sys_DanhMucDonVi department, int level, List <DepartmentTreeNode> nodes) { DepartmentTreeNode node = new DepartmentTreeNode(); node.Name = department.TenDonVi; node.Level = level; node.ID = department.ID; nodes.Add(node); ++level; department.Childs.ForEach(x => nodes = BuildTreeNode(x, level, nodes)); return(nodes); }
public void UpdateDepartmentTree(DepartmentTreeNode node = null) { Guid?parentId = (node == null ? (Guid?)null : node.Department.ID); var childs = Departments.Where(d => d.ParentDepartmentID == parentId); foreach (Department dept in childs) { var newNode = new DepartmentTreeNode(dept); if (node == null) { treeView.Nodes.Add(newNode); } else { node.Nodes.Add(newNode); } UpdateDepartmentTree(newNode); } }
protected void rptDepartment_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { DepartmentTreeNode node = (DepartmentTreeNode)e.Item.DataItem; DropDownList ddlPosition = (DropDownList)e.Item.FindControl("ddlPosition"); CheckBox chkCheck = (CheckBox)e.Item.FindControl("chkCheck"); ddlPosition.DataSource = positions; ddlPosition.DataBind(); if (mappings.Count > 0) { Sys_CanBo_Department_ChucVu map = mappings.FirstOrDefault(x => x.DepartmentID == node.ID); if (map != null) { ddlPosition.Enabled = true; chkCheck.Checked = true; ddlPosition.SelectedValue = map.ChucVuID.ToString(); } } } }