树,设置CheckBox的状态

2016-02-20 17:05:52  访问(1852) 赞(0) 踩(0)


        /// <summary>
        /// 树,设置CheckBox的状态
        /// </summary>
        /// <param name="tv"></param>
        protected void TreeViewReSetCheckedStatus(TreeView tv)
        {
            foreach (TreeNode tn in tv.Nodes)
            {
                TreeViewReSetCheckedStatusByGetTreeNodeChecked(tn);
            }
        }

        /// <summary>
        /// 树设置选中效果
        /// </summary>
        /// <param name="pNode"></param>
        /// <returns></returns>
        protected bool TreeViewReSetCheckedStatusByGetTreeNodeChecked
            (
                TreeNode pNode
            )
        {
            if (pNode.Nodes.Count == 0)
            {
                return pNode.Checked;
            }

            bool bFlag = false;
            
            bool hadChecked = false;
            bool hadNoChecked = false;

            foreach (TreeNode tn in pNode.Nodes)
            {
                bFlag = TreeViewReSetCheckedStatusByGetTreeNodeChecked(tn);

                if (bFlag)
                {
                    hadChecked = true;
                }
                else
                {
                    hadNoChecked = true;
                }
            }

            if (hadNoChecked)
            {
                pNode.Checked = false;
            }
            else
            {
                pNode.Checked = hadChecked;
            }

            return pNode.Checked;
        }


标签:树,设置CheckBox的状态 

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)