热身:
理解层级概念,层级理论上可以有无限级,一般用到四,五级也够用了。最上级的只能有一个,我们把它叫做,接下来是,再是,再是,接下来是曾孙......,汇总如下:爷,父,子,孙,曾孙,这里是5级关系,除了只能有一个外,其余可以有无限个。记住这些,下面要用。

第一小时:学习直接用代码将数据填充到树控件中。
为什么要先学习直接用代码将数据填充到树控件中?因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将表中的数据填充到树控件中,在第一小时里,树控件和表完全没有关系。
目的:我们要在树控件中建立如下的一个3层级关系
水果
|
|__苹果
| |__红富士
| |__国光
|
|__葡萄
|__红提子
|__青提子
解释:水果包含2种,一种是苹果,一种是葡萄,苹果又包含2种,一种是红富士,一种是国光,葡萄也如此。
在这里:是水果,是苹果,葡萄,是红富士,国光,红提子,青提子。概括如下:
爷(只能有一个):水果
父(这里有2个):父1:苹果;父2:葡萄
子(这里有4个):子1:红富士(父1苹果的子);子2:国光(父1苹果的子);子3:红提子(父2葡萄的子);子4:青提子(父2葡萄的子)


1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist
如何到这两个控件?
Treeview控件在工具箱的榔头加扳手图标(其他控件)中选Microsoft Treeview Control,Version 6.0"
Imagelist控件在工具箱的榔头加扳手图标(其他控件)中选Microsoft Imagelist Control,Version 6.0"
Treeview控件大家都明白干什么用的,Imagelist控件是干什么用呢?原来这个控件是放图标用的,如果你想在树控件中显示图标的,这个图标都将储存在ImageList控件中。
2、设置这两个控件的属性
首先要讲清楚控件的属性设置有2种,一种是设置这个控件在ACCESS中的属性,比如名称等。一种是设置这个控件本身的属性。要设置这个控件在ACCESS中的属性,选中控件后按鼠标右键选属性就可以了。跟我们平时设置文本框什么的一样。要设置这个控件本身的属性,只要双击这个控件就可以了。
1)设置Treeview控件在ACCESS中的名称属性,将名称设置为Treeview"
2)设置Imagelist控件在ACCESS中的名称属性,将名称设置为Image"
2)设置Imagelist控件本身的属性,双击控件后,在弹出来的设置框中选Images",单击Insert Picture"按钮,在你电脑中选择你需要的图标。在Key:”栏中填入K1”。其他默认设置不用改。
3)设置Treeview控件本身的属性,双击控件后,在弹出来的设置框中选General”,在这个选项面版中有很多项设置,大多数是设置树控件的显示格式,你自己慢慢研究。这里我们将第一项Style"7,在第五项Imagelist"选项中将我们放置的Imagelist控件Image"选上。这项设置就将图标和树控件联系了起来。
3、写代码将数据填充到树控件中
代码写在哪里?我们希望窗体一打开,数据就自动填充在树控件中,所以这个代码就写在窗体的加载事件中,代码及解释如下:
VBScript code复制代码
Private Sub Form_Load()
    '* -----------------------------------------------------------------
    '*用代码将数据填充到树控件中
    '* -----------------------------------------------------------------
    Dim Nodeindex As Node
    '*------------------------------------------------------------------
    '*解释:定义Node
    '*Node是树控件的对象
    '*每个Node都有三个东西,图标,文本,索引值
    '*图标和文本都是实际显示出来的,索引值是隐含的
    '*------------------------------------------------------------------
    '设置最顶级的:
    '* ---------------------------
    Set Nodeindex = TreeView.Nodes.Add(, , ""贴吧vb是什么意思, "水果", "K1")
    Nodeindex.Sorted = True
    '*------------------------------------------------------------------
    '*树控件填充数据的方法是Nodes.Add
    '*括号内是Add方法的参数
    '*在这里是索引值,水果是将显示的文本,K1”是图标的索引值
    '*Sorted是指Node的排序,True就是指采用排序,默认是按拼音
    '*第一,二个参数是空的
    '*具体的参数设置以后你可以慢慢详细研究
    '*------------------------------------------------------------------
    '设置第二级
    '* ---------------------------
    Set Nodeindex = TreeView.Nodes.Add("", tvwChild, "1", "苹果", "K1")
    Nodeindex.Sorted = True
    Set Nodeindex = TreeView.Nodes.Add("", tvwChild, "2", "葡萄", "K1")
    Nodeindex.Sorted = True
    '*------------------------------------------------------------------
    '*第一个参数是指这一层对应上层
    '*tvwChild参数是规定格式,指相对来说,这一层是爷的子层
    '*“父1”是索引值,因为2个,而索引值是唯一的,所以要编号,用1”“父2”分开
    '*“苹果”“葡萄是要显示的文本,K1是显示图标的索引值
    '*现在知道为什么在层设置时,第一,第二个参数是空的,因为这是最顶层
    '*------------------------------------------------------------------
    '设置第三级
    '* ---------------------------
    Set Nodeindex = TreeView.Nodes.Add("1", tvwChild, "1", "红富士", "K1")
    Nodeindex.Sorted = True
    Set Nodeindex = TreeView.Nodes.Add("1", tvwChild, "2", "国光", "K1")
    Nodeindex.Sorted = True
    Set Nodeindex = TreeView.Nodes.Add("2", tvwChild, "3", "红提子", "K1")
    Nodeindex.Sorted = True
    Set Nodeindex = TreeView.Nodes.Add("2", tvwChild, "4", "青提子", "K1")
    Nodeindex.Sorted = True
    '*------------------------------------------------------------------
    '*第一个参数12”是指这一层对应上层的,但要注意对应的是1”还是2
    '*tvwChild参数是规定格式,指相对来说,这一层是父的子层
    '*“子1”是索引值,因为4个,而索引值是唯一的,所以要编号,用1234”分开
    '*“红富士等是要显示的文本,K1是显示图标的索引值
    '*------------------------------------------------------------------
End Sub
就这么多代码,总共十几行,就可以在树控件中显示数据了,很简单吧。第一小时结束。
第二小时:学习怎样将树控件和数据库中的数据绑起来
在第一小时里,我们学习了怎样直接用代码填充树控件,但在实际使用中,这种方法的应用性不大,只有将树控件与数据库中的数据结合起来,才能有真正的应用。其实绑定数据库的
方法和直接用代码填充是大同小异的,我们要做的只是将Add的参数里,原来我们手工输入的变换一下,让程序知道去数据库中数据。

目的:将数据库中的数据与树控件绑定
背景:我们想在树控件中显示销售客户的层级列表,这个销售客户的分层是这样的,先按大区,再按省份,最后到客户我们在数据库中建立了三个表,字段如下:
大区表:大区ID,大区名称
省份表:省份ID,省份名称,所属大区
客户表:客户ID,客户名称,所属省份
这三个表互相建立了关系

1、新建一个窗体,在窗体上放置两个控件,一个是Treeview,一个是Imagelist
2、设置这两个控件的属性在这里和第一小时唯一的区别是我们在Imagelist控件的设置时,导入了两个图标,一个KEYK1,一个为K2,原来树控件的Node图标是可以变化的,我们
准备某个项没有选中时的图标是一个没有打开的文件夹,选中时是一个打开的文件夹,以区别。
3、编写代码,如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。