[DevExpress][TreeList]条件隐藏节点CheckBox

关键代码:

        /// <summary>

        /// 隐藏CheckBox

        /// 说明

        /// 在CustomDrawNodeCheckBox事件中使用

        /// eg:

        /// TreeList _curTree = (TreeList)sender;

        /// _curTree.HideCheckBox(n => n.GetNodeType() == NodeType.Area || n.GetNodeType() == NodeType.CabsGroupRoot, e);

        /// </summary>

        /// <param name="tree">TreeList</param>

        /// <param name="conditionHanlder">委托</param>

        /// <param name="e">CustomDrawNodeCheckBoxEventArgs</param>

        public static void HideCheckBox(this TreeListNode tree, Predicate<TreeListNode> conditionHanlder, CustomDrawNodeCheckBoxEventArgs e)

        {

            if (conditionHanlder(e.Node))

            {

                e.Handled = true;

            }

        }

代码使用:

        void LHTree_CustomDrawNodeCheckBox(object sender, CustomDrawNodeCheckBoxEventArgs e)

        {

            TreeList _curTree = (TreeList)sender;

            _curTree.HideCheckBox(n => n.GetNodeType() == NodeType.Area || n.GetNodeType() == NodeType.CabsGroupRoot, e);

        }

代码效果:

image

你可能感兴趣的:(DevExpress)