EXTJS 3.4将JSON数据动态加载到树中

EXTJS 3.4将JSON数据动态加载到树中,json,extjs,treepanel,Json,Extjs,Treepanel,我需要将JSON数据加载到树或树面板中。 JSON数据不是来自文件或从URL检索的,而是动态构建的 我找不到任何例子 有人能帮忙吗?当我试图创建一个Treegrid afetr来搜索某个搜索字段中的内容时(需要在URL中传递),我发现了一些奇怪的行为 我是如何在这里创建的逻辑: 创建了一个rootVisible:false和store:mystore的树类 我的存储没有代理{},因为我必须从控制器动态设置它 店内自动加载:有false吗 使用mystore.load()将数据加载到树中 请求进行

我需要将JSON数据加载到树或树面板中。 JSON数据不是来自文件或从URL检索的,而是动态构建的

我找不到任何例子


有人能帮忙吗?

当我试图创建一个Treegrid afetr来搜索某个搜索字段中的内容时(需要在URL中传递),我发现了一些奇怪的行为

我是如何在这里创建的逻辑:

  • 创建了一个rootVisible:false和store:mystore的树类
  • 我的存储没有代理{},因为我必须从控制器动态设置它
  • 店内自动加载:有false吗
  • 使用mystore.load()将数据加载到树中
  • 请求进行了2次 树中的空白根节点,尽管我没有根节点

    我用下面的方法修复了它。。。不确定这是否正确。有更好的解决方案请分享

    树类(视图) 控制器内部 }

    存储文件
    此plz共享的任何更好的解决方案:)

    您可以通过编程创建根节点来实现。 迭代数据并将子节点添加到根节点。 这里已经解释得很清楚了:

                Didn’t define any treestore inside tree view
                rootVisible: false
    
    search: function(button){
    
                var searchText = this.getSearchField().value;
    
    
                //created a store instance
    
                var mystore = Ext.data.StoreManager.lookup('MyTreeStore');
    
                mystore.setProxy({
                                     type: 'ajax',
                                     url: 'app/searchid/'+searchText;
                                 });
    
    
                var mytree = Ext.create('AM.view.MyTree',{store:mystore});
    
                Ext.getCmp('tn').add(mytree);
    
                //DON’T USE store.load() method As we have set rootVisible: false so it will automatically try to load the store or will send the request
    
                Ext.define('AM.store.BomTreeStore', {
    
                    extend: 'Ext.data.TreeStore',
    
                    model: 'AM.model.BomTree',
    
                    autoLoad: false,
    
                    folderSort: true
                });