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

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

以上是 DevExpress获取节点下可视区域子节点集合的实现方法 的全部内容, 来源链接: utcz.com/z/315608.html

回到顶部