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#程序设计能有所帮助!