DevExpress实现TreeList向上递归获取符合条件的父节点
本文实例展示了DevExpress实现TreeList向上递归获取符合条件的父节点的方法,在一些项目开发中比较有实用价值,具体实现方法如下所示:
主要功能代码如下:
/// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递归的节点</param> /// <param name="conditionHanlder">判断条件【委托】</param> /// <returns>符合条件的节点【TreeListNode】</returns> public static TreeListNode GetParentNode(this TreeListNode node, Predicate<TreeListNode> conditionHanlder) { TreeListNode _parentNode = node.ParentNode;//获取上一级父节点 TreeListNode _conditonNode = null; if (_parentNode != null) { if (conditionHanlder(_parentNode))//判断上一级父节点是否符合要求 { _conditonNode = _parentNode; } if (_conditonNode == null)//若没有找到符合要求的节点,递归继续 _conditonNode = GetParentNode(_parentNode, conditionHanlder); } return _conditonNode; }
代码使用方法如下:
TreeListNode _node = e.Node; TreeListNode _condionParent = _node.GetParentNode(n => n.GetNodeType() == NodeType.Cab);//获取类型为CAB类型的父节点 Trace.WriteLine(_condionParent.GetName());
相关推荐
-
DevExpress实现TreeList按条件隐藏节点CheckBox的方法
本文实例讲述了DevExpress实现TreeList按条件隐藏节点CheckBox的方法,在项目开发中有一定的使用价值.具体的实现方法如下: 主要功能代码如下: /// <summary> /// 隐藏CheckBox /// 说明 /// 在CustomDrawNodeCheckBox事件中使用 /// eg: /// TreeList _curTree = (TreeList)sender; /// _curTree.HideCheckBox(n => n.GetNodeType(
-
DevExpress实现TreeList向上递归获取公共父节点的方法
有时候在进行C#项目开发中,需要获取到公共节点,如下图所示: 譬如,当点击"Test103-2"节点,其类型是"灯"类型,那怎么获取到"中心区域"这个类型是"地域"的公共节点?对此具体实现方法如下: 主要功能代码如下: /// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递
-
DevExpress获取节点下可视区域子节点集合的实现方法
递归获取节点是很多程序项目中常见的技巧.本文就以实例展示了DevExpress获取节点下可视区域子节点集合的实现方法.分享给大家供参考之用,具体方法如下: 关键部分代码如下: /// <summary> /// 向下递归TreeListNode节点 /// </summary> /// <param name="node">需要向下递归的节点</param> /// <param name="conditionHanlde
-
DevExpress实现TreeList父子节点CheckState状态同步的方法
本文实例展示了DevExpress实现TreeList父子节点CheckState状态同步的方法,在项目开发中有一定的应用价值,具体实现方法如下: 主要功能代码如下: /// <summary> ///同步父子节点勾选状态 ///说明 ///在AfterCheckNode事件中使用代码 ///eg:e.Node.SyncNodeCheckState(e.Node.CheckState); /// </summary> /// <param name="node&qu
-
DevExpress实现TreeList节点互斥的方法
本文实例讲述了DevExpress实现TreeList节点互斥的方法,具体实现方法如下所示: 主要功能代码如下: /// <summary> /// 节点互斥同步 /// 说明 /// eg: ///TreeListNode _node = e.Node; ///_node.SyncMutexNodeCheckState(_node.CheckState, n => n.GetNodeType() == NodeType.Cab); /// </summary> /// &l
-
DevExpress设置TreeList图片节点背景色的方法
本文实例展示了DevExpress设置TreeList图片节点背景色的方法,在项目开发中有一定的应用价值,具体方法如下所示: 主要功能代码如下: /// <summary> /// 设置图片节点的背景色 /// 说明:在CustomDrawNodeImages事件中使用 /// </summary> /// <param name="tree">TreeList</param> /// <param name="e&quo
-
DevExpress获取TreeList可视区域节点集合的实现方法
本文实例展示了DevExpress获取TreeList可视区域节点集合的实现方法,是比较有实用价值的技巧.分享给大家供大家参考.具体实现方法如下: 关键代码如下: /// <summary> /// 获取可视区域节点 /// </summary> /// <param name="treeList">TreeList</param> /// <param name="conditonHanlder">条件委
-
DevExpress实现TreeList向上递归获取符合条件的父节点
本文实例展示了DevExpress实现TreeList向上递归获取符合条件的父节点的方法,在一些项目开发中比较有实用价值,具体实现方法如下所示: 主要功能代码如下: /// <summary> /// 向上递归,获取符合条件的父节点 /// </summary> /// <param name="node">需要向上递归的节点</param> /// <param name="conditionHanlder"&
-
js获取多个tagname的节点数组
功能需要,写了个获取多个tagname节点集合的小方法.类似于jQuery的$('iput,select,textarea','#form')的效果,返回是按节点在原有文档流中的顺序返回的. 复制代码 代码如下: //获取指定标签类型的节点数组 用例:GetTagNames('input,select,textarea',document.getElementById('form'))function GetTagNames(tagnames,parEl){ //父节点未定义默认循documen
-
DevExpress之TreeList用法实例总结
本文实例总结了DevExpress之TreeList用法,希望对大家学习C#程序设计起到一定的帮助作用.具体实例如下: using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using DevExpress.XtraBars; using DevExpress.XtraTreeList; using DevExpress.XtraTreeList.Node
-
PHP preg_replace() 正则替换所有符合条件的字符串
需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:处理用替换. PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹
-
PHP递归获取目录内所有文件的实现方法
如下所示: /** * 递归获取文件夹内所有文件 * 返回一个TREE结构的文件系统 * @param string $dir * @param array $filter * @return array $files */ function scan_dir($dir, $filter = array()){ if(!is_dir($dir))return false; $files = array_diff(scandir($dir), array('.', '..')); if(is_ar
-
vector, list, map在遍历时删除符合条件的元素实现方法
直接看源码,内有详细解释 /* 测试vector, list, map遍历时删除符合条件的元素 本代码测试环境: ubuntu12 + win7_x64 */ #include <iostream> #include <vector> #include <list> #include <map> #include <iterator> using namespace std; void Remove1(vector<int> &
随机推荐
- JS继承 笔记
- JavaScript实现二叉树的先序、中序及后序遍历方法详解
- 拖动Html元素集合 Drag and Drop any item
- 一定要注意使用代理服务器的安全问题
- python中logging库的使用总结
- [c#]asp.ent下开发中Tag的开发技巧
- 对JavaScript的eval()中使用函数的进一步讨论
- JS中==与===操作符的比较
- Pyramid将models.py文件的内容分布到多个文件的方法
- 详解C语言中的wait()函数和waitpid()函数
- Windows下PHP开发环境搭建教程(Apache+PHP+MySQL)
- 基于jquery实现下拉框美化特效
- Android下的EXIF是什么
- 十种好心态,让你幸福一生的秘密
- C/C++ 动态数组的创建的实例详解
- Windows Server2008 R2 MVC 环境安装配置教程
- jQuery动态添加 input type=file的实现代码
- 如何解决局域网中网络邻居访问响应慢
- java.net.ConnectException: Connection refused问题解决办法
- httpclient 请求http数据,json转map的实例