dev TreeList 获取可视区域节点方法

 /// <summary>
        /// 获取可视区域节点
        /// </summary>
        /// <param name="treeList">TreeList</param>
        /// <param name="conditonHanlder">条件委托</param>
        /// <returns>可视区域节点集合</returns>
        public static List<TreeListNode> GetVisibleNodes(this TreeList treeList, Predicate<TreeListNode> conditonHanlder)
        {
            List<TreeListNode> _visibleNodes = new List<TreeListNode>();
            RowsInfo _rowsInfo = treeList.ViewInfo.RowsInfo;
            foreach (RowInfo ri in _rowsInfo.Rows)
            {
                TreeListNode _curNode = ri.Node;
                if (conditonHanlder(_curNode))
                {
                    _visibleNodes.Add(_curNode);
                }
            }
            return _visibleNodes;
        }
        /// <summary>
        /// 获取可视区域节点
        /// </summary>
        /// <param name="treeList">TreeList</param>
        /// <returns>可视区域节点集合</returns>
        public static List<TreeListNode> GetVisibleNodes(this TreeList treeList)
        {
            return GetVisibleNodes(treeList, n => 1 == 1);
        }


        //使用方法
        MessageBox.Show(tvwLamp.LHTree.GetVisibleNodes(n => n.GetNodeType() == NodeType.Cab).Count.ToString());

  

原文地址:https://www.cnblogs.com/volts0302/p/7093995.html