• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > DevExpress实现TreeList父子节点CheckState状态同步的方法

DevExpress实现TreeList父子节点CheckState状态同步的方法

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了devexpress treelist,treelist,dev treelist,treelist控件,c treelist等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例展示了DevExpress实现TreeList父子节点CheckState状态同步的方法,在项目开发中有一定的应用价值,具体实现方法如下:

主要功能代码如下:

/// <summary>
///同步父子节点勾选状态
///说明
///在AfterCheckNode事件中使用代码
///eg:e.Node.SyncNodeCheckState(e.Node.CheckState);
/// </summary>
/// <param name="node">需要同步的节点</param>
/// <param name="check">节点当前勾选状态</param>
public static void SyncNodeCheckState(this TreeListNode node, CheckState check) { SyncNodeCheckState_Child(node, check); SyncNodeCheckState_Parent(node, check); }

private static void SyncNodeCheckState_Child(TreeListNode node, CheckState check)
{
  if (node != null)
  {
 node.DownRecursiveNode(n => n.CheckState = check);
  }
}
private static void SyncNodeCheckState_Parent(TreeListNode node, CheckState check)
{
  if (node.ParentNode != null)
  {
 bool _cked = false;
 CheckState _ckState;
 foreach (TreeListNode cn in node.ParentNode.Nodes)
 {
   _ckState = cn.CheckState;
   if (check != _ckState)
   {
 _cked = !_cked;
 break;
   }
 }
 node.ParentNode.CheckState = _cked ? CheckState.Indeterminate : check;
 SyncNodeCheckState_Parent(node.ParentNode, check);
  }
}
/// <summary>
/// 向下递归TreeListNode节点
/// </summary>
/// <param name="node">需要向下递归的节点</param>
/// <param name="conditionHanlder">委托</param>
public static void DownRecursiveNode(this TreeListNode node, Action<TreeListNode> conditionHanlder)
{
  foreach (TreeListNode _childNode in node.Nodes)
  {
 conditionHanlder(_childNode);
 DownRecursiveNode(_childNode, conditionHanlder);
  }
}

</div>

代码运行效果如下图所示:

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Devexpress treelist 简介
  • DevExpress TreeList 常见问题解决方法
  • DevExpress获取TreeList可视区域节点集合的实现方法
  • DevExpress之TreeList用法实例总结
  • DevExpress设置TreeList图片节点背景色的方法
  • DevExpress实现TreeList向上递归获取符合条件的父节点
  • DevExpress实现TreeList向上递归获取公共父节点的方法
  • DevExpress实现TreeList节点互斥的方法
  • DevExpress实现TreeList父子节点CheckState状态同步的方法
  • DevExpress实现TreeList按条件隐藏节点CheckBox的方法

相关文章

  • 2017-05-28C#实现带百分比的进度条功能示例
  • 2017-05-28简单了解C#设计模式编程中的桥接模式
  • 2017-05-28C#实现图形路径变换的方法
  • 2017-05-28openfiledialog读取txt写入数据库示例
  • 2017-05-28C#Url操作类封装、仿Node.Js中的Url模块实例
  • 2017-05-28C#如何给PDF文件添加水印
  • 2017-05-28C#中FormClosing与FormClosed的区别详细解析
  • 2017-05-28C#获取关键字附近文字算法实例
  • 2017-05-28C#中使用委托的3种方式代码示例
  • 2017-05-28C#和SQL实现的字符串相似度计算代码分享

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 描述C#多线程中lock关键字的使用分析
    • C# 从枚举值获取对应的文本描述详解
    • 超炫酷的WPF实现Loading控件效果
    • C#组合模式实例详解
    • C#基础之异步调用实例教程
    • C#实现WebSocket协议客户端和服务器websocket sharp组件实例解析
    • C#图像处理之图像平移的方法
    • 详解C#把DataTable中数据一次插入数据库的方法
    • C#创建线程带参数的方法
    • C#学习基础概念二十五问 11-15

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有