用代码将数据填充到树控件中.txt
Private Sub Command1_Click()
'* -----------------------------------------------------------------
'*用代码将数据填充到树控件中
'* -----------------------------------------------------------------
Dim Nodeindex As Node
'*------------------------------------------------------------------
'*解释:定义Node
'*Node是树控件的对象
'*每个Node都有三个东西,图标,文本,索引值
'*图标和文本都是实际显示出来的,索引值是隐含的
'*------------------------------------------------------------------
'设置最顶级的“爷”:
'* ---------------------------
'* ----Set Nodeindex = TreeView.Nodes.Add(, , "爷", "鄯善县")
'* ----Nodeindex.Sorted = True
'*------------------------------------------------------------------
'设置第二级“父”
'* ---------------------------
Set Nodeindex = TreeView.Nodes.Add("爷", tvwChild, "父1", "吐峪沟乡")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("爷", tvwChild, "父2", "鲁克沁镇")
Nodeindex.Sorted = True
'*------------------------------------------------------------------
'*第一个参数“爷”是指这一层对应上层“爷”的
'*tvwChild参数是规定格式,指相对来说,这一层是爷的子层
'*“父1”是索引值,因为“父”有2个,而索引值是唯一的,所以要编号,用“父1”“父2”分开
'*“苹果”“葡萄”是要显示的文本,K1是显示图标的索引值
'*现在知道为什么在“爷”层设置时,第一,第二个参数是空的,因为这是最顶层
'*------------------------------------------------------------------
'设置第三级“子”
'* ---------------------------
Set Nodeindex = TreeView.Nodes.Add("父1", tvwChild, "子1", "吐峪沟村")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父1", tvwChild, "子2", "苏巴什村")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父2", tvwChild, "子3", "三个桥村")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父2", tvwChild, "子4", "木卡姆村")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父2", tvwChild, "子5", "木卡姆村")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父11", tvwChild, "子6", "新楼兰社区")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父11", tvwChild, "子7", "巴扎村")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父19", tvwChild, "子8", "英夏村")
Nodeindex.Sorted = True
Set Nodeindex = TreeView.Nodes.Add("父19", tvwChild, "子9", "阿凡提社区")
Nodeindex.Sorted = True
'*------------------------------------------------------------------
'*第一个参数“父1,2”是指这一层对应上层“父”的,但要注意对应的是“父1”还是“父2”
'*tvwChild参数是规定格式,指相对来说,这一层是父的子层
'*“子1”是索引值,因为“子”有4个,而索引值是唯一的,所以要编号,用“1,2,3,4”分开
'*“红富士”等是要显示的文本,K1是显示图标的索引值
'*------------------------------------------------------------------
End Sub
Private Sub Command2_Click()
'* -----------------------------------------------------------------
'* 用数据库表(查询也一样)中数据填充树控件
'乡镇:大区ID,大区名称
'省份表:省份ID,省份名称,所属大区
'客户表:客户ID,客户名称,所属省份
'* -----------------------------------------------------------------
Dim Rec As New ADODB.Recordset
Dim stRecQL As String
Dim Item As Integer
Dim i As Integer
Dim nodindex As Node
'* -----------------------------------------------------------------
'* 定义各类
'* -----------------------------------------------------------------
'设置最顶级的"爷"
'* ---------------------------
Set nodindex = TreeView.Nodes.Add(, , "鄯善县", "鄯善县")
nodindex.Sorted = True
'* -----------------------------------------------------------------
'*这里的设置跟第一小时里基本是一样的
'*但最后多了一个"K2"的参数,"K1"代表的是未被选中时的图标,"K2"代表是被选中后的图标
'*仔细观察一下,你会发现选中和没选中的图标是不一样的,一个是一个文件夹,一个是一个打开的文件夹
'* -----------------------------------------------------------------
'设置第二级"父"
'* ---------------------------
Rec.Open "select * from 乡镇 ", myconn, adOpenKeyset, adLockOptimistic, 1
Set Nodeindex = TreeView.Nodes.Add("鄯善县", tvwChild, "父1", "吐峪沟乡")
'*Rec.Open "乡镇", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For i = 0 To Rec.RecordCount - 1
Set nodindex = TreeView.Nodes.Add("鄯善县", tvwChild, Rec.Fields("乡镇ID"), Rec.Fields("户籍所在乡镇"))
nodindex.Sorted = True
Rec.MoveNext
Next
Rec.Close
nodindex.Sorted = False
'* -----------------------------------------------------------------
'*第一行意思是打开一个表去寻找数据(查询也是可以的)
'*关键在与Add参数的变化
'*大家看第三个参数,在第一小时里,这里是"父1",这里用Rec.Fields("大区ID")来代替"1",意思是用表的编号来代替手工编号
'*第四个参数也是一样,直接用表中的名称字段来取代原来我们手工的命名
'* -----------------------------------------------------------------
'设置第三级"子"
'* ---------------------------
' On Error Resume Next
'* -----Rec.Open "省份表", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
Rec.Open "select * from 乡镇社区 ", myconn, adOpenKeyset, adLockOptimistic, 1
For i = 0 To Rec.RecordCount - 1
' Set nodindex = TreeView.Nodes.Add("父" & Rec.Fields("户籍所在乡镇"), tvwChild, "子" & Rec.Fields("