ID   名称                    类别
4098 托班教师用书(上).06B   10.102.4000.100.010.11.06B  
4101 托班教师用书(下).07A   10.102.4000.100.020.11.07A  
6152 学前儿童游戏           80.800.8106.500.001.80.07A
6153 戏剧综合课程研究       80.800.8107.500.001.80.07A 大类别、小类别、具体产品三级分类
10  幼儿园
102 托班
4000 教师用书
...
80  课外读物
800 苏教社
8106 学前教育学
8107 儿童心里学...

解决方案 »

  1.   

    需要做一个递归,思路:
    你添加一个等级节点“幼儿园”,将他的tag设为10,{递归开始}然后查找“like '10.%'”,比如查到了“10.102.4000.100.010.11.06B”,将字符串分解并获取“102”,然后得到102是“托班”之后,为“幼儿园”节点增加子节点“托班”,其tag为“10.102”,此时从{递归开始}处开始递归,注意此时查询条件为“like '10.102.%'”,如此一直递归完毕,treeview也就完成了;但是可能这样做起来比较慢,另一个思路:
    先查找数据库,比如获取到了“10.102.4000.100.010.11.06B”,然后将其分解,到treeview中查找(用treeview.nodes(string key))name为“10.102.4000.100.010.11”的节点,如果,能得到,则为之添加新节点,name为“10.102.4000.100.010.11.06B”;如果找不到,则查找name为"10.102.4000.100.010"的节点,找到了,则添加子节点"10.102.4000.100.010.11",然后再为子节点添加子节点“10.102.4000.100.010.11.06B”;如果找不到,则查找"10.102.4000.100"......这样循环完毕所有记录
      

  2.   

    TheRule(绝非偶然) ( ) 信誉:100    Blog 谢谢你提供思路,可是我还是无从下手.我是个新手.能给点具体的代码吗?
      

  3.   

    lz:
       个人认为把问题分两个阶段,可是你非常清晰问题解决思路:1、数据存放:
       你的这些数据是以什么方式存放,xml,数据库,excel,txt,不同的存储格式对后面的访问方式、效率都不一样。建议用xml或数据库。2、创建树节点:
       借助xml或sql的访问技术,分解类别,就得到其所有父亲节点。就从最上层一级一级处理添加节点即可,存在则不用添加了。直到最后一级,就把数据作为其子节点即可(JasonHeung语)。