首页 > 编程 > C# > 正文

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

2020-01-24 02:30:25
字体:
来源:转载
供稿:网友

递归获取节点是很多程序项目中常见的技巧。本文就以实例展示了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#程序设计能有所帮助!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表