博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WPF TreeView递归遍历相关方法
阅读量:5281 次
发布时间:2019-06-14

本文共 2166 字,大约阅读时间需要 7 分钟。

1         ///  2         /// 递归改变组织树选中状态。 3         ///  4         ///  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         /// 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         /// 32         /// 获取选中组织中子节点选中的数据。33         /// 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         /// 45         ///递归取父级节点下选中的节点。46         /// 47         /// 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          /// 65         /// 递归删除节点的父级节点。66         /// 67         /// 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         }
View Code

 

转载于:https://www.cnblogs.com/zqhxl/p/4495423.html

你可能感兴趣的文章
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
CF461B Appleman and Tree
查看>>
CF219D Choosing Capital for Treeland
查看>>
杂七杂八的小笔记本
查看>>
51Nod1353 树
查看>>
CF1215E Marbles
查看>>
BZOJ2339 HNOI2011卡农(动态规划+组合数学)
查看>>
octave基本操作
查看>>
axure学习点
查看>>
WPF文本框只允许输入数字[转]
查看>>
dom4j 通用解析器,解析成List<Map<String,Object>>
查看>>
第一个项目--用bootstrap实现美工设计的首页
查看>>