DevExpress完成TreeList向上遞歸獲得相符前提的父節點。本站提示廣大學習愛好者:(DevExpress完成TreeList向上遞歸獲得相符前提的父節點)文章只能為提供參考,不一定能成為您想要的結果。以下是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());