本文实例讲述了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); }
代码运行效果如下: