ExtJS 4.防止JsonStore为特定参数集加载多次的最佳方法

时间:2012-12-07 11:36:22

标签: extjs extjs4.1 jsonstore

我有两个使用JsonStore的网格面板。当在第一个网格相关数据中选择的行使用store2.load(...)加载到第二个网格时。这很好。

我可以向第二个网格(store2)添加一些行,而无需发送到服务器(这是必需的)。但是当我在第一个网格中选择其他行然后返回到初始行时,添加的数据不存在。这是因为sore2从服务器重新加载。

所以现在我正在尝试找到防止第二次存储重新加载和使用本地数据的最佳方法。 有什么想法吗?

在调查期间,我找到了属性single: true,但找不到任何有关它的文档。

1 个答案:

答案 0 :(得分:0)

在主网格中从第二行切换到第一行后,store2中的数据消失了,因为此切换触发了store2.load()。一种选择是检查store2是否包含一些脏行,如果是这种情况则阻止store2.load()。但是使用此解决方案,如果您更改了其中的某些数据,则第二个网格将永远不会更新。

要解决此问题,我能看到的唯一解决方案是第三个带有本地存储代理的数据存储(例如代理:内存)。此存储包含store1中每个主行的所有已修改/添加的行。现在,如果store3中存在此行的数据,则必须检查每行更改,并在处理store2.load()之后将其添加到store2的数据中。您可以使用从store2触发的load事件来执行此操作。