将数据加载到Ext.Data.TreeStore中

时间:2013-09-02 11:43:11

标签: javascript extjs extjs4.1

我正在使用ExtJs 4.1。我们有一个包含JSON格式数据的变量。我想将json的值加载到我的Ext.Data.TreeStore中。通常商店有loadData()可以解决问题。但是我没有看到Ext.Data.TreeStore的任何这样的方法。

如何将数据加载到Ext.Data.TreeStore?

以下是我商店的定义。

Ext.define('my.store.HStore', {
    extend: 'Ext.data.TreeStore',
    model: 'my.model.myModel',
    autoLoad: false,
    proxy: {
        type: 'memory',
        timeout: 90000,
        url: '/data/',
        reader: {
            type: 'json'
        }
    }
});

1 个答案:

答案 0 :(得分:0)

可能重复:

How to insert new record ( model ) in TreePanel?

How to update data with TreeStore or TreeEditor component?

<强>答案

要在加载商店后将数据加载到TreeStore,请按照此处的文档更新根节点:http://docs.sencha.com/extjs/4.1.0/#!/api/Ext.data.TreeStore-method-setRootNode

也相关,可以帮助您:Treepanel with nested data from JSON

如果您希望将数据附加到TreeStore,那么这有点复杂......您必须首先找到要将子项附加到的节点(例如store.getRootNode().findChildBy())并添加子项appendChildinsertChild取决于最适合您用例的内容。

findChildBy文档:http://docs.sencha.com/extjs/4.1.0/#!/api/Ext.data.NodeInterface-method-findChildBy

appendChild文档:http://docs.sencha.com/extjs/4.1.0/#!/api/Ext.data.NodeInterface-method-appendChild

insertChild文档:http://docs.sencha.com/extjs/4.1.0/#!/api/Ext.data.NodeInterface-method-insertChild

<强> PS: 我已回答了您的一些问题,没有回复,接受或评论。请检查您提出的问题,我非常乐意回答这些问题,但如果您接受有帮助的答案,或者如果您需要其他信息,请至少发表评论,这对整个社区都是最有益的。谢谢。