标签:
1 /// <summary> 2 /// 递归改变组织树选中状态。 3 /// </summary> 4 /// <param name="org"></param> 5 private void RecursionOrgDataTreeStatus(OrgData org) 6 { 7 foreach (var item in org.Nodes) 8 { 9 item.IsChecked = org.IsChecked; 10 if (item.Nodes.Count > 0) 11 { 12 RecursionOrgDataTreeStatus(item); 13 } 14 } 15 } 16 17 18 /// 获取选中的组织数据。 19 /// </summary> 20 private void GetCheckedOrgData() 21 { 22 foreach (OrgData orgData in orgDataCollection) 23 { 24 if(orgData.IsChecked)receiverData.Add(orgData); 25 if (orgData.HasChild) 26 { 27 GetCheckedOrgChildData(orgData); 28 } 29 } 30 } 31 /// <summary> 32 /// 获取选中组织中子节点选中的数据。 33 /// </summary> 34 private void GetCheckedOrgChildData(OrgData org) 35 { 36 foreach (OrgData orgData in org.Nodes) 37 { 38 if(orgData.IsChecked)receiverData.Add(orgData); 39 if (orgData.HasChild) GetCheckedOrgChildData(orgData); 40 } 41 } 42 43 44 /// <summary> 45 ///递归取父级节点下选中的节点。 46 /// </summary> 47 /// <param name="org"></param> 48 private void GetCheckedOrgDataByOrgParent(OrgData org) 49 { 50 if (org == null) return; 51 if (org.Parent == null && org.IsChecked) receiverData.Add(org); 52 if (org.Parent != null) 53 { 54 foreach (var node in org.Parent.Nodes) 55 { 56 if (node.IsChecked) receiverData.Add(node); 57 } 58 } 59 GetCheckedOrgDataByOrgParent(org.Parent); 60 } 61 62 63 64 /// <summary> 65 /// 递归删除节点的父级节点。 66 /// </summary> 67 /// <param name="org"></param> 68 private void DeletedOrgData(OrgData org) 69 { 70 if (org == null) return; 71 if (org.Parent == null) return; 72 receiverData.Remove(org.Parent); 73 DeletedOrgData(org.Parent); 74 }
标签:
原文地址:http://www.cnblogs.com/zqhxl/p/4495423.html