【问题标题】:ExtJS Store/Grid resetExtJS 存储/网格重置
【发布时间】:2012-01-11 21:14:02
【问题描述】:

我有一个按钮,单击该按钮将使用提供的 url 创建一个 JSONstore。然后将商店加载到网格中。如果再次单击该按钮,它将再次添加所有信息(因此它被列出两次)。我想要这样当用户单击按钮时,它会清除存储/网格,然后添加所有内容。

关于如何实现这一点的任何想法?

谢谢,

编辑 ExtJS 3

datasetStore.removeAll();
datasetStore.loadData(datasetsArray);

【问题讨论】:

    标签: extjs grid store reset


    【解决方案1】:

    对于 ExtJs4:只需要 store.loadRecords([ array ])。在 4.2.2 版本中,store.proxy 没有 clear() 方法,所以它不起作用(在其他地方的其他示例中提出......)

    如果您想完全清除存储和代理,请传递一个空数组。这很方便,因为在某些情况下,您希望清除存储,removeAll 仅将数据移动到存储内部管理的数组中,因此稍后在仅显示 1 条记录的 gridStore 上进行同步时,您可能会看到控制器充斥着一堆标记为删除的记录!

    【讨论】:

      【解决方案2】:

      查看一些代码示例(和 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}表示先删除已有记录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-12-10
        • 2011-07-02
        • 2023-03-15
        • 2015-03-30
        • 2011-08-18
        • 2014-03-28
        • 2011-12-18
        相关资源
        最近更新 更多