DevExpress实现TreeList向上递归获取符合条件的父节点
程序员文章站
2024-02-11 23:40:34
本文实例展示了devexpress实现treelist向上递归获取符合条件的父节点的方法,在一些项目开发中比较有实用价值,具体实现方法如下所示:
主要功能代码如下:...
本文实例展示了devexpress实现treelist向上递归获取符合条件的父节点的方法,在一些项目开发中比较有实用价值,具体实现方法如下所示:
主要功能代码如下:
/// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递归的节点</param> /// <param name="conditionhanlder">判断条件【委托】</param> /// <returns>符合条件的节点【treelistnode】</returns> public static treelistnode getparentnode(this treelistnode node, predicate<treelistnode> 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());