当前位置: 编程技术>.net/c#/asp.net
DevExpress获取节点下可视区域子节点集合的实现方法
来源: 互联网 发布时间:2014-11-02
本文导语: 递归获取节点是很多程序项目中常见的技巧。本文就以实例展示了DevExpress获取节点下可视区域子节点集合的实现方法。分享给大家供参考之用,具体方法如下: 关键部分代码如下: /// /// 向下递归TreeListNode节点 /// /// 需...
递归获取节点是很多程序项目中常见的技巧。本文就以实例展示了DevExpress获取节点下可视区域子节点集合的实现方法。分享给大家供参考之用,具体方法如下:
关键部分代码如下:
///
/// 向下递归TreeListNode节点
///
/// 需要向下递归的节点
/// 委托
public static void DownRecursiveNode(this TreeListNode node, Action conditionHanlder)
{
foreach (TreeListNode _childNode in node.Nodes)
{
conditionHanlder(_childNode);
DownRecursiveNode(_childNode, conditionHanlder);
}
}
///
/// 获取节点下可视区域子节点集合
///
/// 需要获取可见子节点的节点
/// 条件委托
/// 可见子节点集合
public static List GetVisibleChildNodes(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 List GetVisibleChildNodes(this TreeListNode node)
{
return GetVisibleChildNodes(node, n => 1 == 1);
}
希望本文所述方法对大家的C#程序设计能有所帮助!