DevExpress实现TreeList按条件隐藏节点CheckBox的方法

本文实例讲述了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);
}

代码运行效果如下: