EXTJS:如何把Json数据绑定到tree菜单上

这是从数据库读出并转换的一级目录[{"MenuId":1,"MenuName":"我的工作","MenuPraentId":0,"MenuType":"Folder","... 这是从数据库读出并转换的一级目录
[
{"MenuId":1,"MenuName":"我的工作","MenuPraentId":0,"MenuType":"Folder","MenuURL":""},
{"MenuId":2,"MenuName":"行政人事","MenuPraentId":0,"MenuType":"Folder","MenuURL":""},
{"MenuId":7,"MenuName":"考勤管理","MenuPraentId":0,"MenuType":"Folder","MenuURL":""},
{"MenuId":11,"MenuName":"组织机构","MenuPraentId":0,"MenuType":"Folder","MenuURL":""}
]
这是EXT的JSON的数据
{children:[
{id:'01',text:'a01',children:[
{id:'01-01',text:'a01-01',leaf:true},
{id:'01-02',text:'a01-02',children:[
{id:'01-02-01',text:'b01-02-01',leaf:true},
{id:'01-02-02',text:'a01-02-02',leaf:true}
]},
{id:'01-03',text:'b01-03',leaf:true}
]},
{id:'02',text:'b02',leaf:true}
]}
我把目录数据从list中转换成Josn数据,但是,这个数据格式,跟EXT的TreeStore中root绑定的字段不一样,要如何把从数据库中读出的数据绑定到tree中?二级目录如何绑定?
展开
 我来答
luffy1201
2014-08-29 · TA获得超过1523个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:577万
展开全部

自己定义一个后台的TreeNode类(仿照extjs里的TreeNode类),里面可以有如下属性:

private String id;

 private String text;

 private boolean leaf;//是否是叶子节点

 private Boolean checked;//复选框

 private TreeNode parent;//父节点对象

 private Collection<TreeNode> children = new TreeSet<TreeNode>();//子节点的集合

除了属性的get/set方法外,可以加如下方法:
public void addChild(TreeNode node) {

  this.children.add(node);

 }   
public void removeChild(TreeNode node) {

  this.children.remove(node);

 }

然后组件树时,根据你查出的数据,new一个TreeNode然后把MenuId的值放到id里,把MenuName放到text里,然后MenuPraentId是0说明是根一级节点,然后查MenuPraentId是MenuId的孩子节点,找到之后,也是这样new个TreeNode,然后赋值,最后把上一级addChild子一级的节点,然后做个递归,构建一个完整的树

 

最后看你用什么方式返回给前台,如果直接返回对象给前台(dwr可以)直接就能用了。如果要返回字符串给前台,那就用jsonObject转下,toString就好了~~~到前台只要是extjs的treeNode格式的数据,tree就认了~~~

百度网友a243f9d
2014-08-29 · 超过24用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:53.6万
展开全部
把store中的root删掉
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式