2011-04-23 65 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。

相关问题