以文本方式查看主题 - Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp) -- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2) ---- 请教:在treeview 中打开一个节点,如何做到同时关闭其他节点? (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=147936) |
-- 作者:jswjyjf -- 发布时间:2020/3/27 15:47:00 -- 请教:在treeview 中打开一个节点,如何做到同时关闭其他节点? 请教:在treeview 中打开一个节点,如何做到同时关闭其他节点? |
-- 作者:有点蓝 -- 发布时间:2020/3/27 15:58:00 -- 获取父节点:http://www.foxtable.com/webhelp/topics/1498.htm 到AfterExpandNode事件遍历当前节点的父节点的所有子节点,如果不是当前节点就收缩 |
-- 作者:jswjyjf -- 发布时间:2020/3/27 16:02:00 -- 能帮我写下代码吗 |
-- 作者:有点蓝 -- 发布时间:2020/3/27 16:18:00 -- 先自己写,哪里有问题再把代码发上来看看 |
-- 作者:jswjyjf -- 发布时间:2020/3/28 10:48:00 -- Dim tr As WinForm.TreeView Dim pd As WinForm.TreeNode tr = Forms("导航").Controls("TreeView1") pd = tr.SelectedNode.ParentNode For Each nd As WinForm.TreeNode In tr.AllNodes If nd.Text.IndexOf("pd") >= 0 Then nd.Collapse() End If Next 测试下来 还是不行 麻烦帮我看一下
|
-- 作者:有点蓝 -- 发布时间:2020/3/28 11:00:00 -- Dim pd As WinForm.TreeNode = e.node.ParentNode if pd is nothing then For Each nd As WinForm.TreeNode In e.sender.nodes If nd.name <> e.node.name Then nd.CollapseAll() End If Next else For Each nd As WinForm.TreeNode In pd.nodes If nd.name <> e.node.name Then nd.CollapseAll() End If Next end if
|
-- 作者:jswjyjf -- 发布时间:2020/3/28 11:22:00 -- 可以了 非常感谢 |