标题:help me ,我用TreeView控件如何加载全国城市信息
只看楼主
jofexj
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2014-3-14
结帖率:50%
已结贴  问题点数:20 回复次数:3 
help me ,我用TreeView控件如何加载全国城市信息
我想添加全国城市信息,但是太多了,一条一条添加的话,太麻烦了,有什么好的办法吗
搜索更多相关主题的帖子: 如何 信息 
2014-04-09 10:13
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
有数据吗?
根据数据内容不同,代码也不同。

---------------------------------------
数据来源:http://www.stats.

文件名:区划对照表.csv
转换格式:
110000,北京市
110100,市辖区
110101,东城区
110102,西城区
110105,朝阳区
110106,丰台区
110107,石景山区
110108,海淀区
110109,门头沟区
110111,房山区
110112,通州区
110113,顺义区
110114,昌平区
110115,大兴区
110116,怀柔区
110117,平谷区
110200,县
110228,密云县
110229,延庆县
120000,天津市
120100,市辖区
120101,和平区
120102,河东区
120103,河西区
120104,南开区
120105,河北区
120106,红桥区
120110,东丽区
120111,西青区
120112,津南区
120113,北辰区
120114,武清区
120115,宝坻区
120116,滨海新区
120200,县
120221,宁河县
120223,静海县
120225,蓟县
130000,河北省
130100,石家庄市
130101,市辖区
130102,长安区
130103,桥东区
130104,桥西区
130105,新华区
130107,井陉矿区
130108,裕华区
130121,井陉县
130123,正定县
130124,栾城县
130125,行唐县
130126,灵寿县
130127,高邑县
130128,深泽县
130129,赞皇县
130130,无极县
130131,平山县
130132,元氏县
130133,赵县
130181,辛集市
130182,藁城市

............

----------------
控件:
放个 treeview1 和 command1
代码:
程序代码:
Option Explicit

Dim path As String                          '系统路径

Const DataFile = "区划对照表.csv"           '数据文件名,常量

Dim nodeselect As MSComctlLib.Node          '当前选择的数据

Private Sub Command1_Click()
    '提示信息
    MsgBox "区划名:" & nodeselect.Text & vbCrLf & "区划代码:" & Mid(nodeselect.Key, 2)
End Sub

Private Sub Form_Load()

'初始化路径,确保格式统一
path = App.path
If Right(path, 1) <> "\" Then
    path = path & "\"
End If

'数据文件全路径
Dim f As String
f = path & DataFile

Dim s As String
Dim fj() As String
Dim s1 As String, s2 As String

Dim nodx As Node

'读数据,生成树
Open f For Input Access Read As #1      '打开文件,只读
    Do While Not EOF(1)                 '没结束则继续循环
        Line Input #1, s                '读一行
        If InStr(1, s, ",") > 0 Then    '包含逗号
            fj = Split(s, ",")          '分解数据
            If IsNumeric(fj(0)) Then    '第一段是数值类型
                If Val(Mid(fj(0), 3)) = 0 Then      '省名字,后四位全为 0
                    Set nodx = TreeView1.Nodes.Add(, , "K" & fj(0), fj(1))         '添加为顶级
                    s1 = "K" & fj(0)    '保存省级Key
                ElseIf Val(Right(fj(0), 2)) > 0 Then '县名字        '后2位不为0的为县级
                    Set nodx = TreeView1.Nodes.Add(s2, tvwChild, "K" & fj(0), fj(1))    '添加为市级的下一级
                Else
                    Set nodx = TreeView1.Nodes.Add(s1, tvwChild, "K" & fj(0), fj(1))    '其他的为市级,后2位为0,第 3 4 位不为零
                    s2 = "K" & fj(0)    '保存市级 Key
                End If
            End If
        End If
    Loop
Close #1

Set nodeselect = TreeView1.Nodes(1)     '默认是选择了第一个
    nodeselect.Expanded = True          '第一个展开

End Sub

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
    Set nodeselect = Node               '设置选择这个
    Node.Expanded = True                '展开
End Sub

授人于鱼,不如授人于渔
早已停用QQ了
2014-04-09 12:35
jofexj
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2014-3-14
得分:0 
回复 2楼 风吹过b
哦了, 谢谢啊。您QQ是多少啊
2014-04-09 13:42
jofexj
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2014-3-14
得分:0 
回复 2楼 风吹过b
哦了, 谢谢啊。您QQ是多少啊
2014-04-09 13:42



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-429858-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.119792 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved