extjs:从Ext.data.JsonStore返回的json加载树

时间:2010-10-01 14:25:22

标签: json extjs tree cross-domain

我有一个extjs TreePanel,我需要使用从我的Ext.data.JsonStore调用返回的json数据(跨域调用)加载。这非常有效。我只是找不到使用返回的jsonStore加载treepanel的方法。有任何想法吗?我真的是绝望的。

谢谢大家!

代码段:

var store = new Ext.data.JsonStore({
    root: 'topics',
    totalProperty: 'totalCount',
    idProperty: 'threadid',
    remoteSort: true,

    fields: [
        'title', 'forumtitle', 'forumid', 'author',
        {name: 'replycount', type: 'int'},
        {name: 'lastpost', mapping: 'lastpost', type: 'date', dateFormat: 'timestamp'},
        'lastposter', 'excerpt'
    ],

    proxy: new Ext.data.ScriptTagProxy({
        url: 'http://other.domain/test.aspx'
    })
});

//现在我需要使用该商店加载树...

var Tree = Ext.tree;
var tree = new Tree.TreePanel({
  useArrows: true,
  autoScroll: true,
  animate: true,
  enableDD: true,
  containerScroll: true,
  border: false,
  loader: new Tree.TreeLoader({ dataUrl: '????' })
  //.....
});

帮助!

1 个答案:

答案 0 :(得分:0)

您必须向存储添加一个加载侦听器,并手动将已加载数据中的树节点添加到树中,树不直接支持存储,请记住树是分层的并且存储且相当平坦。