2011-01-09 45 views
0

如何更改dataUrlTreeLoaderExtJS:Change TreeLoader dataUrl

更新:對不起,造成混亂!

dataUrl只能在構造函數中設置,在實例初始化後沒有公共屬性或方法可以稍後進行更改。因此,它甚至有可能改變它嗎?

+0

在我看來,你可以更新`dataUrl`,然後調用`load`,可能會傳遞根節點。 – Hemlock 2011-01-09 21:37:11

回答

0

每個請求(這不是「直接」)似乎直接使用dataUrl。您應該能夠將其更改爲屬性,即使它沒有被公開報告。

0

什麼是你的問題?您是否閱讀過TreeLoader extJS文檔? http://dev.sencha.com/deploy/dev/docs/

+0

是的,我做到了。 dataUrl只能在構造函數中設置,在實例初始化後沒有公共屬性或方法可以稍後進行更改。因此,它甚至有可能改變它嗎? – 2011-01-09 18:55:52

0

這是一個從控制器動態更改Treeloader URL的解決方案。

var mystore = Ext.data.StoreManager.lookup('MyTreeStore');

 mystore.setProxy({ 
          type: 'ajax', 
          url: 'app/searchid/'+searchText; 
         }); 

您可以使用事件beforeload更改URL。

mystore.on('beforeLoad',function(store, operation, eOpts){ 

     store.setProxy({ 
     type: 'ajax', 
     url:"http://localhost/data/treegrid.json", 
     actionMethods:{read:'GET'}, 
     timeout:9000000, 
     noCache : false, 
     reader: { 
     type: 'json' 
       } 
     }); 
});