我有一个按钮,当单击时,将使用提供的URL创建一个JSONstore。然后将商店加载到网格中。如果再次单击该按钮,它会再次添加所有信息(因此会列出两次)。我想要它,以便当用户点击按钮时,它会清除商店/网格,然后添加所有内容。
关于如何实现这一目标的任何想法?
谢谢,
修改 ExtJS 3
datasetStore.removeAll();
datasetStore.loadData(datasetsArray);
答案 0 :(得分:5)
查看一些代码示例(和extjs版本)会很有用,但您只需使用loadRecords
方法(http://docs.sencha.com/ext-js/4-0/#!/api/Ext.data.JsonStore-method-loadRecords):
grid.store.loadRecords([array of your new records here], {addRecords: false});
{addRecords: false}
表示将首先删除现有记录。
答案 1 :(得分:1)
对于ExtJs4:只需执行store.loadRecords([array])。在版本4.2.2中,store.proxy没有clear()方法,因此不起作用(在别处的其他示例中提出......)
如果要完全清除存储和代理,请传递一个空数组。这很方便,因为在某些情况下你想要清除存储并且removeAll只将数据移动到商店内部管理的数组中,所以当稍后在只显示1条记录的gridStore上进行同步时,你可能会看到你的控制器充满了一堆标记为删除的记录!!