当前位置: 编程技术>.net/c#/asp.net
DevExpress实现TreeList向上递归获取符合条件的父节点
来源: 互联网 发布时间:2014-11-01
本文导语: 本文实例展示了DevExpress实现TreeList向上递归获取符合条件的父节点的方法,在一些项目开发中比较有实用价值,具体实现方法如下所示: 主要功能代码如下: /// /// 向上递归,获取符合条件的父节点 /// /// 需要向上递归...
本文实例展示了DevExpress实现TreeList向上递归获取符合条件的父节点的方法,在一些项目开发中比较有实用价值,具体实现方法如下所示:
主要功能代码如下:
/// /// 向上递归,获取符合条件的父节点 /// /// 需要向上递归的节点 /// 判断条件【委托】 /// 符合条件的节点【TreeListNode】 public static TreeListNode GetParentNode(this TreeListNode node, Predicate conditionHanlder) { TreeListNode _parentNode = node.ParentNode;//获取上一级父节点 TreeListNode _conditonNode = null; if (_parentNode != null) { if (conditionHanlder(_parentNode))//判断上一级父节点是否符合要求 { _conditonNode = _parentNode; } if (_conditonNode == null)//若没有找到符合要求的节点,递归继续 _conditonNode = GetParentNode(_parentNode, conditionHanlder); } return _conditonNode; }
代码使用方法如下:
TreeListNode _node = e.Node; TreeListNode _condionParent = _node.GetParentNode(n => n.GetNodeType() == NodeType.Cab);//获取类型为CAB类型的父节点 Trace.WriteLine(_condionParent.GetName());