2012-03-07 53 views
2

首先,我是ExtJS的新手 自从几天以来,我在Ext 4 Tree上工作。如何使用单个数据存储渲染多个ExtJS树

需求是这样的,我想同时显示3-4棵相同树的表示。我想用单个数据存储来做到这一点。

树1将显示没有复选框 树2中的所有节点都将显示出与复选框 树3所有节点将仅显示父节点(文件夹)和无叶节点(文件)

我试图做这些使用相同数据存储,但扩展/折叠一棵树会导致其他的不一致扩展/折叠。此外,对于复选框,我必须在数据存储中拒绝“checkbox:true/false”,我不知道如何控制Ext。

请帮帮我。如果已经有一个例子,那将会很有帮助。

回答

2

这里的主要问题是 - 您只有一个商店副本,并且您的所有树都订阅了该商店事件,因此当商店发布某些内容时,所有树都会对此做出反应。顺便说一句,如果你想要例如使用相同的商店显示几个不同的网格,也是如此。

如果您需要为每个控件拥有不同的行为,您需要不断订阅/取消订阅每棵树中的存储事件(取决于现在关注哪一个)或更简单的解决方案 - 克隆存储并拥有单个副本为每棵树。

+0

如果您让我知道如何订阅/取消订阅商店,这将有所帮助。我认为这可能会有所斩获。我搜查了文档,但找不到与此相关的任何内容。 – Ashwin 2012-03-07 12:42:52

+0

检查树/网格组件的源代码 - bindStore方法。这就是发生的一切。 – sha 2012-03-07 12:57:41