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());