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