2012-07-31 40 views

回答

1

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

如何我创建这里的逻辑:

  1. 创建一个树类rootVisible的:假和存储:的MyStore
  2. 我的店里有没有代理{},我不得不从控制器
  3. 动态设置此
  4. 在店内自动加载:假在那里
  5. 二手mystore.load()将数据加载到树

请求去了2次 虽然我没有根节点,但树中的空白根节点。

我修正了它在以下方式...不确定笏扩大这是正确的。任何更好的解决方案,请分享

树类(查看)

  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 
      }); 

任何更好的解决方案,这里面plz s野兔:)