以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求助:目录树节点展开提示 指定的参数已超出有效值的范围。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95163)

--  作者:李孝春
--  发布时间:2017/1/11 19:20:00
--  求助:目录树节点展开提示 指定的参数已超出有效值的范围。

Dim tv As WinForm.TreeView
tv =e.Form.Controls("日常流水")
tv.BuildTree("日常流水", "用户|银行卡类别|银行卡卡号|日期")
tv.Nodes(1).Expand()


指定的参数已超出有效值的范围。
参数名: index

想实现如下展开效果
李孝春
  信用卡
     卡号    (卡号等于卡号+发卡银行 如:123456中国银行 怎么实现呢?日常流水表里面有发卡银行字段值)



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

Dim tv As WinForm.TreeView
tv =e.Form.Controls("日常流水")
tv.BuildTree("日常流水", "用户|银行卡类别|银行卡卡号|日期")
tv.Nodes(0).Expand()

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






--  作者:有点色
--  发布时间:2017/1/12 2:46:00
--  
Dim tv As WinForm.TreeView
tv =e.Form.Controls("日常流水")
tv.BuildTree("日常流水", "用户|银行卡类别|银行卡卡号|日期")
tv.Nodes(0).Notes(0).Expand()
 
或者
 
Dim tv As WinForm.TreeView
tv =e.Form.Controls("日常流水")
tv.BuildTree("日常流水", "用户|银行卡类别|银行卡卡号|日期")
tv.AllNodes(1).Expand()

--  作者:李孝春
--  发布时间:2017/1/12 14:07:00
--  回复:(有点色)Dim tv As WinForm.TreeViewtv =e....
有点色老师  你看嘛  运行结果如下图  还是没有按照要求展开
李孝春
   信用卡
         卡号


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

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

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


--  作者:有点色
--  发布时间:2017/1/12 14:13:00
--  
Dim tv As WinForm.TreeView
tv =e.Form.Controls("日常流水")
tv.BuildTree("日常流水", "用户|银行卡类别|银行卡卡号|日期")
tv.Nodes(0).Expand()
tv.Nodes(0).Notes(0).Expand()
tv.Nodes(0).Notes(0).EnsureVisible
[此贴子已经被作者于2017/1/12 14:14:33编辑过]

--  作者:李孝春
--  发布时间:2017/1/12 16:19:00
--  回复:(有点色)Dim tv As WinForm.TreeViewtv =e....
第一个节点的可以展开了  
第二个节点的却依然是关闭的


[此贴子已经被作者于2017/1/12 16:29:51编辑过]

--  作者:有点色
--  发布时间:2017/1/12 16:20:00
--  
循环每一个节点,如果level属性等于0或者1的,就展开。
--  作者:李孝春
--  发布时间:2017/1/12 16:44:00
--  回复:(有点色)循环每一个节点,如果level属性等于0...
For Each nd As WinForm.TreeNode In tv.AllNodes  \'遍历节点
    Select Case nd.Level            \'先判断节点层级
        Case 0                      \'若是根节点
            tv.Nodes(0).Expand()
            tv.Nodes(0).Nodes(0).Expand()
            tv.Nodes(0).Nodes(0).EnsureVisible
        Case 1                      \'若是根节点
            tv.Nodes(1).Expand()
            tv.Nodes(1).Nodes(0).Expand()
            tv.Nodes(1).Nodes(0).EnsureVisible
    End Select
Next

改成这样之后  可以快速打开两个节点的了  但是我想再简化一下
因为根节点会有很多用户名加入 而不是现在的两个用户  如果多个用户 
同样每个用户下会有多种卡 比如信用卡 存储卡
卡下面还会有多个卡号

那我要写多个  就比较麻烦咯 
有没有通用的办法呢 
让之全部打开对应的0.1.2三节点的内容呢?

还烦请有点色老师多多指导 谢谢!
[此贴子已经被作者于2017/1/12 16:47:20编辑过]

--  作者:有点色
--  发布时间:2017/1/12 16:45:00
--  

For Each nd As WinForm.TreeNode In tv.AllNodes  \'遍历节点
    If nd.Level = 0 OrElse nd.Level = 1 Then
        nd.Expand
    End If
Next


--  作者:李孝春
--  发布时间:2017/1/12 16:48:00
--  回复:(有点色)For Each nd As WinForm.TreeNode In...
谢谢有点色老师  十分感谢!