日期:2014-05-20  浏览次数:20769 次

如何把这样的数据作为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语)。