DevExpress获取节点下可视区域子节点集合的实现方法_C#教程-查字典教程网
DevExpress获取节点下可视区域子节点集合的实现方法
DevExpress获取节点下可视区域子节点集合的实现方法
发布时间:2016-12-28 来源:查字典编辑
摘要:递归获取节点是很多程序项目中常见的技巧。本文就以实例展示了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#程序设计能有所帮助!

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C#教程学习
    热门C#教程学习
    编程开发子分类