设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: fnsmydyang
打印 上一主题 下一主题

[ActiveX] 请教一个树节点展开问题。

[复制链接]
11#
 楼主| 发表于 2012-6-29 21:11:54 | 只看该作者
谢谢版主,问题解决了,正是如此,只是节点有点闪。
12#
发表于 2012-6-30 08:18:54 | 只看该作者
闪是因为每次都循环收起了一遍造成的.理论上这是在浪费资源.可以试着用变量记录上次的节点,点击下一个节点时判断一下.那就是最合理的了.
13#
发表于 2012-6-30 09:04:07 | 只看该作者

Private Sub xTree_NodeClick(ByVal Node As Object)

    On Error Resume Next
   
    Dim tree0 As TreeView
    Static intLastNode As Integer
   
    Set tree0 = Me.xTree.Object

    If intLastNode <> 0 Then
        Debug.Print GetParentIndex(Node), intLastNode
        If GetParentIndex(Node) <> intLastNode Then
            Me.xTree.Nodes(intLastNode).Expanded = False
        End If
    End If
   
    intLastNode = Node.Index
    Node.Seleted = True
    Node.Expanded = True
   
    lngKM = Nz(Right(Node.Key, Len(Node.Key) - 1))
   
End Sub

Function GetParentIndex(Node As Object) As Integer

    On Error Resume Next
   
    If Node.Index = 1 Then Exit Function
    GetParentIndex = Node.Parent.Index
   
End Function

'PS:点击节点前的伸展符号不在此代码考虑之列.
14#
 楼主| 发表于 2012-6-30 09:21:07 | 只看该作者
本帖最后由 fnsmydyang 于 2012-6-30 09:23 编辑

版主,先行谢谢了,经调试还是行不通呢!是我使用不正确?讨教了,要不麻烦在实例上修改一下试试。{:soso_e181:}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
15#
 楼主| 发表于 2012-6-30 09:46:08 | 只看该作者
咱家是猫 发表于 2012-6-29 20:33
Private Sub xTree_NodeClick(ByVal Node As Object)

    On Error Resume Next

版主,其实我的想法很简单,判定当前节点是否有父节点,如果有需判断有多少个Parent节点,这些Parent都展开,其它都收缩,您看这样行得通吗?
16#
发表于 2012-6-30 09:53:30 | 只看该作者
上面那段代码其实就是这个意思,当单击一个节点时,判断上一个单击过的节点,如果不存在,就作罢.如果存在,接着获取本次点击的节点的父节点,与上次节点比对,如果是一样的,作罢,如果不一样,则收起上个节点.
接下来是常规动作,展开本节点,把本节点Index给变量(intLastIndex),以便下次判断.
17#
 楼主| 发表于 2012-6-30 10:04:35 | 只看该作者
咱家是猫 发表于 2012-6-30 09:53
上面那段代码其实就是这个意思,当单击一个节点时,判断上一个单击过的节点,如果不存在,就作罢.如果存在,接着 ...

那现在代码复制在程序中没有达到预期效果,不知为什么?我有传附件上来,帮忙再看一下,谢谢了!!!
18#
发表于 2012-6-30 10:14:20 | 只看该作者
重新写了一下,上面那个忽略了关闭多级节点.看例子

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
19#
 楼主| 发表于 2012-6-30 10:28:53 | 只看该作者
咱家是猫 发表于 2012-6-30 10:14
重新写了一下,上面那个忽略了关闭多级节点.看例子

版主,还是不行,我试过了,当单击同层第二个节点时,父节点会收缩,其它节点没有反映,还得再修改,谢谢!!!
20#
发表于 2012-6-30 10:38:14 | 只看该作者
是噢,这个又忽略了,唉...这要考虑的东西还真多
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-10 07:49 , Processed in 0.093773 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表