注册 登录
编程论坛 VB.NET论坛

vb.net 如何一次性展开所有节点,或者根据子节点展开其所有父节点

ZMGTCDY 发布于 2014-08-08 16:50, 2406 次点击
节点树TreeView 与数据库表绑定,窗体初始化时显示第一级即父节点树,通过逐级单击节点选定后显示各下级节点。
我的问题是:如何初始化时展开所有级次的节点?请各位师帮忙!
(因为只有所有节点都展开时,查找深层节点才能实现,否则只能先找到其上所有层节点才能找到最底层的节点。这样做
实现太不方便了。)

其实我的主要目的是:根据子节点编号展开所有父节点,因为只有要查找的节点以上父节点都展开时,TreeView要查找到的节点才能显示出来,如图效果。
只有本站会员才能查看附件,请 登录



[ 本帖最后由 ZMGTCDY 于 2014-8-10 07:59 编辑 ]
8 回复
#2
szmsolo2014-08-12 12:32
没听懂,QQ交流,最近我也在学习这个玩意。
#3
szmsolo2014-08-12 12:36
回复 楼主 ZMGTCDY
你要查找某个节点,可以用FOR EACH 循环,历遍所有节点,比如你找到“张三”这个节点了,要展开它的父节点不是很容易吗?是不是这个意思?
#4
ZMGTCDY2014-08-13 11:09
回复 3 楼 szmsolo
窗体上两个控件TreeView和DataGridView。后者是前者的数据库表。前者根据后者生成的节点树。加裁窗体时节点树只能加裁第一层。第二第三层是通过选定后逐级展开。
TreeView                                 DataGridView
                                          编号      名称
中国[01]                                  01        中国
   辽宁[0101]                             0101      辽宁
      沈阳[010101]                        010101    沈阳
      大连[010102]                        010102    大连
   河北[0102]                             0102      河北
      廊坊[010201]                        010201    廊坊
我的问题是两个控件彼此联动。即选定前者任意节点时,后者就滚动到相应的单元。反之单击后者任意行时焦点就跳动相应的节点上。很多软件都应用了此方法。如物资管理系统、用友软件都有应用。
问题是如何是窗体加裁时就展开所有节点。或者单击"010102  大连"时,其所有父节点能先展开。
#5
ZMGTCDY2014-08-13 11:21
如何按编号或名称全部查找一遍也能做到全部展开,只是这太消耗时间并不可取。希望各位大师能有更好的办法。求代码。
#6
szmsolo2014-08-13 21:40
回复 5 楼 ZMGTCDY
你这个太高级了,不会,只会一些简单的,学习中!
#7
jianjunfeng2014-08-15 15:24
回复 楼主 ZMGTCDY
只有本站会员才能查看附件,请 登录

这样的?
#8
ZMGTCDY2014-08-16 10:32
是的,就是这样的,左右两个控件可以交互调用。当单击节点时视图焦点可移动到相应位置。单击任意视图单元时选定光标会到相应的节点位置(同时展开其所有父节点)。
前者我已经做到,只是后者还有些不理想。希望路过的大师们给些解决问题的代码。
#9
tlliqi2014-08-16 11:19
太高级了,不会
1