DevExpress获取节点下可视区域子节点集合的实现方法
递归获取节点是很多程序项目中常见的技巧。本文就以实例展示了DevExpress获取节点下可视区域子节点集合的实现方法。分享给大家供参考之用,具体方法如下:
关键部分代码如下:
///<summary> ///向下递归TreeListNode节点 ///</summary> ///<paramname="node">需要向下递归的节点</param> ///<paramname="conditionHanlder">委托</param> publicstaticvoidDownRecursiveNode(thisTreeListNodenode,Action<TreeListNode>conditionHanlder) { foreach(TreeListNode_childNodeinnode.Nodes) { conditionHanlder(_childNode); DownRecursiveNode(_childNode,conditionHanlder); } } ///<summary> ///获取节点下可视区域子节点集合 ///</summary> ///<paramname="node">需要获取可见子节点的节点</param> ///<paramname="conditonHanlder">条件委托</param> ///<returns>可见子节点集合</returns> publicstaticList<TreeListNode>GetVisibleChildNodes(thisTreeListNodenode,Predicate<TreeListNode>conditonHanlder) { List<TreeListNode>_visibleChildNodes=newList<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> ///<paramname="node">需要获取可见子节点的节点</param> ///<returns>可见子节点集合</returns> publicstaticList<TreeListNode>GetVisibleChildNodes(thisTreeListNodenode) { returnGetVisibleChildNodes(node,n=>1==1); }
希望本文所述方法对大家的C#程序设计能有所帮助!