2011-04-23 117 views
0

我需要動態使用JSON與data.TreeStore。 使用這個組件,有代理「配置」,它需要一個JSON文件的路徑。 我的問題是,我不能在我的應用程序中寫入Json文件。 我會知道,如果我可以動態生成JSON並將它傳遞給代理中的url配置?如何在沒有json文件的情況下使用JSON?

例如:

Var trStore = Ext.create('Ext.Data.TreeStore',{ 

... // config 
proxy { 

type : 'ajax', 
url : { id : 'id0', task :'task0', value : 'val0', ..... } 

} 
}); 

我的網址不是文件的URL,而是用我自己的方法生成JSON!

如何構建JSON以使用它與TreeStore和沒有makefile!

我希望你明白我的問題:)

非常感謝您的幫助!

回答

0

你的例子看起來像你想傳遞靜態「內聯數據」到TreeStore。

據我所見,這是不可能的一個裸樹的商店,因爲它沒有數據配置選項作爲「正常」存儲具有。但是,使用Treepanel也是可以的。

您可以使用TreePanel(而不是TreeStore)的配置選項將您的內聯數據傳遞給TreeStore。它的工作原理非常類似的方式作爲數據「正常」商店配置選項:

Ext.create('Ext.tree.Panel', { 
    root: { id : 'id0', task :'task0', value : 'val0', children: [...], ... } 
    // ... 
}); 

有與此相關的兩個警告:

  • 的beta3版文檔說是布爾值,這是錯誤的。
  • 由於beta3中的錯誤,您不能將其與一起使用rootVisible:false
0

請記住,「json文件」實際上只是一個文本字符串,因此您可以使用PHP或您首選的服務器軟件生成該文件。

對於代理中的網址,只需放入用於運行該功能的網址即可。例如在我的網絡應用程序中,我有http://example.org/controller/getTree?output=json

這在我的controller上運行getTree()函數,並且該函數知道返回json。

相關問題