1. 点击叶子节点是希望Open键显示,点击非叶子节点时希望隐藏。实践中发现点击到了非叶子节点图标,Open没有隐藏,如何解决?

增加一个判断:

           if (_hitInfo.HitInfoType != HitInfoType.Cell&&_hitInfo.HitInfoType!=HitInfoType.SelectImage)
{
return;
}

紫色代码用来判断当前鼠标点击点是否是节点所在的单元格;

红色代码用来判断当前鼠标点击点是否是节点的图标;

这样的话不论是点击单元格还是点击图标都能被捕捉到,只要点击了其中之一,Open键就会被隐藏(或者被显示)。

2. 右键删除节点时,如果其祖先节点都只有一个孩子,也就是相当于数据库中只有一条数据,此时删除了节点,则该节点的所有祖先节点也应该被删除;如果某一级的祖先节点由多于一个子节点,则该祖先节点和被删除节点之间的所有节点应该删除。(好绕口,不知道我需求的人估计看不明白,可是没时间详细解释了,有什么疑问请留言吧,具体情况具体沟通),如何解决?

      public void HasChildNode()
{
treeList1.DeleteNode(treeList1.FocusedNode);
while (!treeList1.FocusedNode.HasChildren && !Equals(treeList1.FocusedNode.GetValue(columnID: ), "本地数据库"))//当删到“本地数据库”的时候就不再删除了
{
treeList1.DeleteNode(treeList1.FocusedNode);
}
//删除节点后,当前焦点必定不是叶子结点,所以使open间隐藏
lciBtnOpen.Visibility = DevExpress.XtraLayout.Utils.LayoutVisibility.Never;
}

写了一个方法来判断。首先删除节点后,数据库中的节点数据已经删除。(我的所有节点数据都是在一张表中)接下来在刷新treelist 的情况下,删除节点用treelist 的 deletednode方法。删除当前节点后,treelist 的focusedNode 会自动转到删除节点的父节点上(或相邻兄弟节点),此时判断一些当前的节点是否有子节点,如果没有,就把当前节点也删除。

DEV_TreeList使用经验小结的更多相关文章

  1. 【心得】Lattice后端使用经验小结(ECP5UM,DDR3,Diamond3.10,Reveal逻辑分析)

    [博客导航] [导航]FPGA相关 背景 下边的内容,适合初次使用Lattice的.具备FPGA开发经验的同学. 1.初次使用,还真遇到不少的坑,Lattice的工具也有不少优缺点,通过总结,希望能缩 ...

  2. Git使用经验小结

    2012春,开始正式使用SVN,2014年9月加入一起好后,开始使用Git.  有了一些使用经验,也看了下网上关于"Git全胜SVN"的言论. 结合自己的实际情况,简要写几句: 1 ...

  3. mybatis 使用经验小结

    一.多数据源问题 主要思路是把dataSource.sqlSesstionFactory.MapperScannerConfigurer在配置中区分开,各Mapper对应的包名.类名区分开 <? ...

  4. jmeter linux使用经验小结

    1. 确认务必安装了JDK,并且把路径配置OK.否则执行会报错. 2. 当做负载机时,在hosts 配置上    你的ip   你的hostname  或者使用./bin/jmeter-server ...

  5. Struts2 interceptor使用经验小结

    1. interceptor 调用Spring容器中的bean 在interceptor中常有需要调用Spring Bean的需要,其实很简单和Struts2的Action一样配置即可. Spring ...

  6. 性能测试工具Loadrunner使用经验小结(原创更新版)

    1. 引言 1.1. 简介 loadrunner是一种预测系统行为和性能的负载测试工具,它可以轻松创建虚拟用户.创建真实的负载.定位性能问题.重复测试保证系统的高性能 globa-100的注册码:AE ...

  7. Kafka使用经验小结

    本文尽量从一个使用者的角度去记录一些在实战当中使用Kfaka所需要关注的要点,这样可能会贴切更多的读者,本文并不会介绍太多的Kafka的一些架构层次设计的知识,因为网上已经有一大堆的重复搬运的资料任由 ...

  8. mybatis 使用经验小结 good

    一.多数据源问题 主要思路是把dataSource.sqlSesstionFactory(用来产生sqlSession).MapperScannerConfigurer在配置中区分开,各Mapper对 ...

  9. mybatis: 利用多数据源实现分库存储

    之前写过一篇mybatis 使用经验小结 提到过多数据源的处理方式,虽然简单但是姿势不太优雅,今天介绍一些更美观的办法: spring中有一个AbstractRoutingDataSource的抽象类 ...

随机推荐

  1. JGUI源码:Accordion兼容IE8实现(3)

    本来不考虑IE8,但是还是有部分客户用的XP,有不代表没有,尽量做一下兼容处理1.before,after,要使用:不能使用:: 2.阻止冒泡 function stopPropagation(e) ...

  2. IN-子查询

    为什么需要子查询? 现实中,很多情况需要进行以下条件的判断 集合成员资格 某一元素是否是某一个集合的成员 集合之间的比较 某一个集合是否包含另一个集合 集合基数的测试 测试集合是否为空 测试集合是否存 ...

  3. List总结

    List是接口,不能直接new,需要使用它的实现类 所有已知实现类:AbstractList, AbstractSequentialList, ArrayList, AttributeList, Co ...

  4. Angular7

    1.绑定html 在ts里面自定义一个html变量 html = '<a> 这是html变量 </a> '; 在html打印出来 直接打印:{{html}} <br /& ...

  5. 【Java编程思想笔记】注解--自定义注解

    文章参考自:https://www.cnblogs.com/xdp-gacl/p/3622275.html 学习网站:how2java.cn 一.自定义注解的创建过程 第一步:(元注解)   使用元注 ...

  6. 第三节,目标检测---R-CNN网络系列

    1.目标检测 检测图片中所有物体的 类别标签 位置(最小外接矩形/Bounding box) 区域卷积神经网络R-CNN 模块进化史 2.区域卷积神经网络R-CNN Region proposals+ ...

  7. js设置document.domain实现跨域

    document.domain 只能实现跨子域的问题 如:xxx.com/a.html 和aaa.xxx.com/b.html 或:bbb,xxx.com/c.html 和ccc.xxx.com/d. ...

  8. 【原创】大叔问题定位分享(23)Ambari安装向导点击下一步卡住

    ambari安装第一步是输入集群name,点击next时页面卡住不动,如下图: 注意到其中一个接口请求结果异常,http://ambari.server:8080/api/v1/version_def ...

  9. HTML5 图片下载

    1. 概述 1.1 说明 在项目过程中,有时候需要下载某一展示图片,html5中定义了<a> download属性,download属性规定被下载的超链接目标,该属性可以设置一个值来规定下 ...

  10. NOIP2018旅行

    这道题考场上的时候暴力写RE了,我果然很菜. 看了一篇大佬的的题解才明白 dalao的题解 但是解释很少哇,为了造福人类,在下发一篇详细一点的题解. 预处理:用vector把与每个点相连的点存起来,排 ...