DevExpress实现TreeList向上递归获取符合条件的父节点 DevExpress实现TreeList向上递归获取符合条件的父节点

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

DevExpress实现TreeList向上递归获取符合条件的父节点 DevExpress实现TreeList向上递归获取符合条件的父节点

  2021-03-19 我要评论
想了解DevExpress实现TreeList向上递归获取符合条件的父节点的相关内容吗,在本文为您仔细讲解DevExpress实现TreeList向上递归获取符合条件的父节点的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点: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());

猜您喜欢

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们