使用TreeView加载数据

TreeView 控件在编制程序过程中用得比较多。正确的掌握和使用这个控件,可以很好的表示层次关系的数据。在数据库应用系统中,我们可以用 TreeView 来显示树形结构,如显示目录树、显示班级信息等等,有着很重要的作用

看看下面一个实际的问题:每个年度都有许多的班级,将这些数据层次表示

数据库 :access

表 :Test

字段 :bh( 班级编号 , 文本,主键 ),nj( 年级 , 文本 )

功能:以层次关系表现出数据

测试数据:

** bh ** ** **

|

** nj ** ** **

---|---

41020

|

2001

41021

|

2001

41025

|

2003

41026

|

2003

41027

|

2003

41028

|

2003

|

添加 TreeView 控件, 2 个按钮

2 个按钮分别用了两种方法显示数据。但是第二种方法明显优于第一种。

可以仔细的看代码

' 引用 microsoft activex data object 2.x library

Dim nddata As Node

Dim cnn As ADODB.Connection

Dim rs1 As New ADODB.Recordset

Dim rs2 As New ADODB.Recordset

Private Sub Command1_Click()

On Error Resume Next

Set nddata = TreeView1.Nodes.Add(, , "db", " 班级信息 ")

nddata.Expanded = True

Dim intcount As Integer

Dim inttable As Integer

Dim intfield As Integer

Dim intfn As Integer

rs1.Open "select nj from test group by nj", cnn, 1, 3

inttable = rs1.RecordCount

Do While inttable <> intcount

Set nddata = TreeView1.Nodes.Add("db", tvwChild, "F" & rs1.Fields("nj"), rs1.Fields("nj"))

rs2.Open "select bh,nj from test where nj='" & rs1.Fields("nj") & "'", cnn, 1, 3

intfield = rs2.RecordCount

If intfield <> 0 Then

intfn = 0

Do While intfield <> intfn

Set nddata = TreeView1.Nodes.Add("F" & rs1.Fields("nj"), tvwChild, "S" & rs2.Fields("bh"), rs2.Fields("bh"))

rs2.MoveNext

intfn = intfn + 1

Loop

End If

rs2.Close

rs1.MoveNext

intcount = intcount + 1

Loop

rs1.Close

End Sub

‘ 第二种方法

Private Sub Command2_Click()

On Error Resume Next

Set nddata = TreeView1.Nodes.Add(, , "db", " 班级信息 ")

nddata.Expanded = True

rs1.Open "select * from test", cnn, 1, 3

Do While Not rs1.EOF

If ca <> rs1.Fields("nj") Then

Set nddata = TreeView1.Nodes.Add("db", tvwChild, "F" & rs1.Fields("nj"), rs1.Fields("nj"))

ca = rs1.Fields("bb")

End If

Set nddata = TreeView1.Nodes.Add("F" & rs1.Fields("nj"), tvwChild, "S" & rs1.Fields("bh"), rs1.Fields("bh"))

rs1.MoveNext

Loop

rs1.Close

End Sub

Private Sub Form_Load()

Set cnn = New ADODB.Connection

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\csdn_vb\database\treeview 的节点添加 \1\test.mdb"

End Sub

Private Sub Form_Unload(Cancel As Integer)

Set con = Nothing

End Sub

Published At
Categories with Web编程
Tagged with
comments powered by Disqus