Foxtable(狐表)用户栏目专家坐堂 → [求助]目录树的问题


  共有1776人关注过本帖树形打印复制链接

主题:[求助]目录树的问题

帅哥哟,离线,有人找我吗?
81538475
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10362 威望:0 精华:1 注册:2018/1/20 12:40:00
[求助]目录树的问题  发帖心情 Post By:2019/4/14 0:31:00 [只看该作者]

子节点全部不勾选的时候,如何让父节点也不勾选。下面代码是哪里错了呀。

For Each nd As WinForm.TreeNode In e.Node.AllNodes
    If nd.Checked = True  Then '如果本次操作为清除节点选中状态
    a = a + 1

    End If
Next

Dim pd As WinForm.TreeNode = e.node.ParentNode '获取父节点
If pd IsNot Nothing AndAlso a = 0 Then
pd.Checked = False '清除父节点选中状态
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/14 10:32:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10362 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2019/4/14 16:00:00 [只看该作者]

尝试了好久,还是没能实现,我说的情况跟范例还有些不同
我是希望当所有子节点不勾选的时候,父节点也不勾选。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/14 16:41:00 [只看该作者]

 

你写的代码没问题啊,请上传实例,说明要做到的效果。

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10362 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2019/4/14 21:45:00 [只看该作者]

 像这样。当子节点全部未选中时,父节点也取消选中状态。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2019/4/14 21:48:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/14 22:01:00 [只看该作者]

Dim a As Integer = 0

Dim pd As WinForm.TreeNode = e.node.ParentNode '获取父节点
If pd IsNot Nothing Then
    For Each nd As WinForm.TreeNode In pd.AllNodes
        If nd.Checked = True  Then '如果本次操作为清除节点选中状态
            a = a + 1
        Else
            pd.Checked = False
        End If
    Next
   
   
    If a = pd.AllNodes.Count Then
        pd.Checked = True '清除父节点选中状态
    End If
Else
    For Each nd As WinForm.TreeNode In e.node.AllNodes
        If nd.Checked = True  Then '如果本次操作为清除节点选中状态
        Else
            e.node.Checked = False
        End If
    Next
End If


 回到顶部
帅哥哟,离线,有人找我吗?
81538475
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1287 积分:10362 威望:0 精华:1 注册:2018/1/20 12:40:00
  发帖心情 Post By:2019/4/15 17:16:00 [只看该作者]

我改了一下代码,功能实现了。但是出现了另外的问题。
我慢慢点节点1的时候,是正常的。但是我快速点击的时候。就不对了图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/4/15 17:28:00 [只看该作者]

 

这个是bug,无法处理的。双击的时候没办法。

 

 


 回到顶部