中储粮总公司副总经理:VB中如何使用TreeView控件.

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/01 00:46:52
VB中如何使用TreeView控件,像注册表一样的目录结构!应该怎么做.请赐教...或举个容易看懂的例子!
在网上很多没有的例子.都只能在WIN95/98下使用!
请给出能在2K/XP下运行正常的!能正常使用保证加分!
龙车花卉,你的楼下有人抄袭你的答案!切..鄙视那种人!
抄袭可耻 、被抄光荣

我给你一个实用的例子!你好好看,就会懂的!
我运行过了,没有问题!
如果还有什么问题,请于我联系(QQ:63495849)

比如现有一个ACCESS数据库的一张表字段如下:
员工编号,员工姓名,上司编号
0 A
1 B 0
2 C 1

现在要用TREEVIEW控件将这张表表示出来!
代码如下:
Option Explicit

Dim con As ADODB.Connection
Dim rs As ADODB.Recordset

Private Sub Form_Load()
Set con = New ADODB.Connection

con.ConnectionString=
"Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=" & App.Path & "\Emp.mdb"
con.CursorLocation = adUseClient
con.ConnectionTimeout = 5
con.Open

Set rs = New ADODB.Recordset
rs.Open "Select * From Employees", con, adOpenForwardOnly, adLockOptimistic, -1

Dim i As Integer, nod As Node
For i = 1 To rs.RecordCount
If rs.Fields("LeaderID").Value = 0 Then
Me.TreeView1.Nodes.Add , , "K_" & rs.Fields("nID").Value, rs.Fields("EmpName").Value, 1
Else
Me.TreeView1.Nodes.Add "K_" & rs.Fields("LeaderID").Value, tvwChild, "K_" & rs.Fields("nID").Value, rs.Fields("EmpName").Value, 1
End If
rs.MoveNext
Next i

rs.Close
Set rs = Nothing

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
con.Close
Set con = Nothing
End Sub

我这里有一个MSDN中的关于如何使用TreeView控件的帮助文件。

完成代码
上面的代码显示了用两个相关的表填成一个表的基本策略。全部代码如下:

'必须设置对 DAO 3.5 的引用。
'在声明部分,声明模块级的对象变量:
Private mDbBiblio As Database
Private mNode As Node