读书人

递归手动生成treepanel的儿孙树节点

发布时间: 2012-12-19 14:13:14 作者: rapoo

递归手动生成treepanel的子孙树节点
开发中的一个需求,需要将一个自关联的表取出数据后,反映到前台的ext树形式。由于鄙人对ext不怎么熟,或许不用下面这么麻烦实现子孙节点关系,但是开发时为了快速实现原型,才想到下面的方法,或许只是下策。

由于从后台取得的数据是List<Map>形式,一个map是一条数据,数据之间没有直接的子孙关系,
并且本地renderJson方法是将Map转化为json形式传递到前台,renderJson本身不会组织数据之间的子孙关系,然而ext构建树节点需要 [{id:'xx',text:'xxx',children:[{id:'xxx',text:'',leaf:true},{.....}]}] 这种形式。这种对象中有数组的形式导致我不得不转化数据,所以需要转化List<Map>中的数据,以便renderJson可以生成符合ext树节点json的形式。



下面是自己手动转化数据,在后台将数据转化为ext的树节点子孙关系结构。最后json形式传递到前台,生成treepanel子孙节点。感觉效率不怎么高,需要优化,也许我没想到更好的方法。



//yuyong 2012-3-14

这样传递到前台的数据就是[{id:'xx',text:'xxx',children:[{id:'xxx',text:'',leaf:true},{.....}]}] 的json形式了。



读书人网 >编程

热点推荐