DevExpress获取节点下可视区域子节点集合的实现方法

 更新时间:2014年08月20日 09:01:27   投稿:shichen2014  
这篇文章主要介绍了DevExpress获取节点下可视区域子节点集合的实现方法,是C#程序设计中较为常见的技巧,需要的朋友可以参考下

递归获取节点是很多程序项目中常见的技巧。本文就以实例展示了DevExpress获取节点下可视区域子节点集合的实现方法。分享给大家供参考之用,具体方法如下:

关键部分代码如下:

/// <summary>
/// 向下递归TreeListNode节点
/// </summary>
/// <param name="node">需要向下递归的节点</param>
/// <param name="conditionHanlder">委托</param>
public static void DownRecursiveNode(this TreeListNode node, Action<TreeListNode> conditionHanlder)
{
  foreach (TreeListNode _childNode in node.Nodes)
  {
 conditionHanlder(_childNode);
 DownRecursiveNode(_childNode, conditionHanlder);
  }
}
/// <summary>
/// 获取节点下可视区域子节点集合
/// </summary>
/// <param name="node">需要获取可见子节点的节点</param>
/// <param name="conditonHanlder">条件委托</param>
/// <returns>可见子节点集合</returns>
public static List<TreeListNode> GetVisibleChildNodes(this TreeListNode node, Predicate<TreeListNode> conditonHanlder)
{
  List<TreeListNode> _visibleChildNodes = new List<TreeListNode>();
  TreeList _tree = node.TreeList;
  DownRecursiveNode(node, n =>
  {
 RowInfo _rowInfo = _tree.ViewInfo.RowsInfo[n];
 if (_rowInfo != null)
 {
   if (conditonHanlder(n))
   {
 _visibleChildNodes.Add(n);
   }
 }
  });
  return _visibleChildNodes;
}
/// <summary>
/// 获取节点下可视区域子节点集合
/// </summary>
/// <param name="node">需要获取可见子节点的节点</param>
/// <returns>可见子节点集合</returns>
public static List<TreeListNode> GetVisibleChildNodes(this TreeListNode node)
{
  return GetVisibleChildNodes(node, n => 1 == 1);
}

希望本文所述方法对大家的C#程序设计能有所帮助!

相关文章

  • C# ComboBox的联动操作(三层架构)

    C# ComboBox的联动操作(三层架构)

    这篇文章主要介绍了C# ComboBox的联动操作(三层架构),根据下拉框的变化使得下拉框绑定对应值,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Unity Shader实现描边OutLine效果

    Unity Shader实现描边OutLine效果

    这篇文章主要为大家详细介绍了Unity Shader实现描边OutLine效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-01-01
  • c# 类成员的可访问性代码详解

    c# 类成员的可访问性代码详解

    在本篇文章里小编给大家整理了关于c# 类成员的可访问性代码详解内容,有需要的朋友们可以参考下。
    2019-09-09
  • C#实现文件上传以及多文件上传功能

    C#实现文件上传以及多文件上传功能

    这篇文章主要为大家详细介绍了C#实现文件上传以及多文件上传功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • C#从DataTable获取数据的方法

    C#从DataTable获取数据的方法

    这篇文章主要介绍了C#从DataTable获取数据的方法,涉及C#操作DataTable的相关技巧,需要的朋友可以参考下
    2015-06-06
  • WPF使用FontAwesome字体图标

    WPF使用FontAwesome字体图标

    这篇文章介绍了在WPF中使用FontAwesome字体图标的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-06-06
  • Linq利用Distinct去除重复项问题(可自己指定)

    Linq利用Distinct去除重复项问题(可自己指定)

    这篇文章主要介绍了Linq利用Distinct去除重复项问题(可自己指定),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-01-01
  • C#使用带like的sql语句时防sql注入的方法

    C#使用带like的sql语句时防sql注入的方法

    这篇文章主要介绍了C#使用带like的sql语句时防sql注入的方法,采用了一个比较简单的字符串过滤方法就可以有效提高sql语句的安全性,防止sql注入,需要的朋友可以参考下
    2014-09-09
  • C#下解析HTML的两种方法介绍

    C#下解析HTML的两种方法介绍

    用System.Net.WebClient下载Web Page存到本地文件或者String中,用正则表达式来分析。这个方法可以用在Web Crawler等需要分析很多Web Page的应用中
    2013-09-09
  • C#.net编程创建Access文件和Excel文件的方法详解

    C#.net编程创建Access文件和Excel文件的方法详解

    这篇文章主要介绍了C#.net编程创建Access文件和Excel文件的方法,结合实例形式总结分析了C#创建Access与Excel文件的几种常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06

最新评论