01 江苏0101 南京市010101 鼓楼区010102 塘下区010103 其他区0102 苏州010201 相城区010202 苏州园区如何用VB 写代码,将这些数据做成一个树显示出来呢?
解决方案 »
- 日期比较的问题
- 鼠标在combo控件的下拉框里移动得到事件。
- 关于 Document.body
- vb的flash控件是否已经不能播放flash mx制作出来的6.0版本flash?
- 肤浅的问题,我的书上没有,所以来问问,呵呵
- 大家退出表单使用unload me还是直接用end
- 大家帮我看看这条sql语句有什么错误?谢谢
- 请问如何把dbaseⅢ的数据导入到access中呢 急
- 要分请到这里来,长见事,还可以有分,快快呀(代码有误,请指教)40分呀
- vb6如何操作已经打开的excel,而并不重新打开再操作
- 我想当鼠标在form标题栏(Caption)上面时,执行一段代码,如何实现?
- 大家帮忙看看,串口通讯问题.接收数据时好时坏,谢谢了!
把你的数据保存到一个文本文件"城市.txt",注意排好顺序,例如:
01 江苏
0101 南京市
010101 鼓楼区
010102 塘下区
010103 其他区
0102 苏州
010201 相城区
010202 苏州园区
02 河北
0201 石家庄
020101 1区
020102 2区
0202 保定
020201 新区
020202 西区
03 天津
0301 河西区
0302 和平区Private Sub Command1_Click()
Dim nd As Node, Root As Node, ndParent As Node
Dim x() As String, s As String, sID As String, sPreID As String
Dim sParentKey As String, sParentKeyOld As String
Open App.Path & "\城市.txt" For Input As #1
With TreeView1
Set nd = .Nodes.Add()
nd.Text = "全部城市"
nd.Key = "root"
sParentKey = "root"
sParentKeyOld = "root"
Set Root = nd
Set ndParent = nd
Do While Not EOF(1)
Line Input #1, s
x = Split(s, " ")
sID = x(0)
If Len(sID) > Len(sPreID) Then
Set ndParent = nd
ElseIf Len(sID) < Len(sPreID) Then
If Left(sID, 2) = Left(sPreID, 2) Then
Set ndParent = ndParent.Parent
Else
Set ndParent = Root
End If
End If
Set nd = .Nodes.Add(ndParent.Key, tvwChild, "key" & sID, s)
sPreID = sID
Loop
Root.Expanded = True
End With
End Sub