VB6控件TreeView的使用

本文介绍如何在VB6中使用TreeView控件展示SQLServer2000数据库中的地区和城市信息。通过创建两个数据表并填充数据,然后利用ADODB.Recordset对象读取这些数据,并将它们以树状形式展示出来。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【实验名称】VB6控件TreeView的使用

【实验原理】在FormLoad事件的时候,以TreeView中显示数据库中数据表的结构信息。

【实验步骤】

1.使用SQL Server2000数据库建立两个数据表:

CREATE TABLE [地区信息] (

[系统ID] [int] IDENTITY (1, 1) NOT NULL ,

[地区名称] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[地区ID] [char] (20) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

GO

CREATE TABLE [城市信息] (

[系统ID] [int] IDENTITY (1, 1) NOT NULL ,

[城市名称] [char] (20) COLLATE Chinese_PRC_CI_AS NULL ,

[地区ID] [char] (20) COLLATE Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

GO

2.在数据表中插入一些信息:

[地区信息]

1 华北地区 DT01

2 华东地区 DT02

3 华中地区 DT03

4 华南地区 DT04

[城市信息]

1 青岛 DT02

2 北京 DT01

3 河北 DT01

4 济南 DT02

5 郑州 DT03

6 杭州 DT04

7 上海 DT04

8 广州 DT04

3.VB6建立标志的EXE工程,Ctrl+T,部件中加入:Microsoft Windows Common Control6.0SP6)。

4.在窗体上添加一个TreeView控件,命名为tvwDiQu;一个ImageList控件,名称保留为ImageList1.初始化ImageList1,添加三张图片(右击—>属性)。

5.在FormLoad事件中加入如下代码:

Public rsDiQu As ADODB.Recordset Public rsChengShi As ADODB.Recordset Private Sub Form_Load() tvwDiQu.LineStyle = tvwTreeLines tvwDiQu.ImageList = ImageList1 tvwDiQu.Style = tvwTreelinesPlusMinusPictureText Dim nodx As Node Set rsDiQu = New ADODB.Recordset Set rsChengShi = New ADODB.Recordset UnlockDatabase '打开一个到SQL Server2000的连接Cn rsDiQu.Open "select 地区名称,地区ID from 地区信息", Cn '地区信息 If rsDiQu.RecordCount > 0 Then rsDiQu.MoveFirst Do While Not rsDiQu.EOF If rsChengShi.State = adStateOpen Then '由于要重复使用rsChengShi,所以关闭再打开 rsChengShi.Close End If rsChengShi.Open "select * from 城市信息 where 地区ID='" + Trim(rsDiQu.Fields("地区ID")) + "' ", Cn '每个城市有地区ID,依次选出地区所包括的城市 'Trim函数很重要,没有会报错。 Set nodx = tvwDiQu.Nodes.Add(, , Trim(rsDiQu.Fields("地区名称")), rsDiQu.Fields("地区名称"), 1) '添加地区(父)节点 If rsChengShi.RecordCount > 0 Then Do While Not rsChengShi.EOF 'Debug.Print rsChengShi.Fields("城市名称") Set nodx = tvwDiQu.Nodes.Add(Trim(rsDiQu.Fields("地区名称")), tvwChild, , rsChengShi.Fields("城市名称"), 3) '遍历城市,添加城市(子)节点 rsChengShi.MoveNext Loop End If 'If rsChengShi.RecordCount > 0 rsDiQu.MoveNext '添加下一个地区及其包括的城市 Loop End If 'If rsDiQu.RecordCount > 0 DestroyRs rsDiQu DestroyRs rsChengShi End Sub

6.运行,双击父节点打开或关闭子节点。效果图如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值