递归获取节点是很多程序项目中常见的技巧。本文就以实例展示了DevExpress获取节点下可视区域子节点集合的实现方法。分享给大家供参考之用,具体方法如下:
关键部分代码如下:
////// 向下递归TreeListNode节点 /// /// 需要向下递归的节点 /// 委托 public static void DownRecursiveNode(this TreeListNode node, ActionconditionHanlder) { foreach (TreeListNode _childNode in node.Nodes) { conditionHanlder(_childNode); DownRecursiveNode(_childNode, conditionHanlder); } } /// /// 获取节点下可视区域子节点集合 /// /// 需要获取可见子节点的节点 /// 条件委托 ///可见子节点集合 public static ListGetVisibleChildNodes(this TreeListNode node, Predicate conditonHanlder) { List _visibleChildNodes = new List (); TreeList _tree = node.TreeList; DownRecursiveNode(node, n => { RowInfo _rowInfo = _tree.ViewInfo.RowsInfo[n]; if (_rowInfo != null) { if (conditonHanlder(n)) { _visibleChildNodes.Add(n); } } }); return _visibleChildNodes; } /// /// 获取节点下可视区域子节点集合 /// /// 需要获取可见子节点的节点 ///可见子节点集合 public static ListGetVisibleChildNodes(this TreeListNode node) { return GetVisibleChildNodes(node, n => 1 == 1); }
希望本文所述方法对大家的C#程序设计能有所帮助!



