[WinForm][DevExpress][TreeList]向上递归,获取符合条件的父节点

时间:2014-06-25 14:56:16   收藏:0   阅读:222

关键代码:

       /// <summary>
        /// 向上递归,获取符合条件的父节点
        /// </summary>
        /// <param name="node">需要向上递归的节点</param>
        /// <param name="conditionHanlder">判断条件【委托】</param>
        /// <returns>符合条件的节点【TreeListNode】</returns>
        public static TreeListNode GetSelfParentNode(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 = GetSelfParentNode(_parentNode, conditionHanlder);
            }
            return _conditonNode;
        }

代码使用:

            TreeListNode _node = e.Node;
            TreeListNode _condionParent = _node.GetSelfParentNode(n => n.GetNodeType() == NodeType.Cab);//获取类型为CAB类型的父节点
            Trace.WriteLine(_condionParent.GetName());

[WinForm][DevExpress][TreeList]向上递归,获取符合条件的父节点,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!