【问题标题】:Extjs 3.4 automatic reload grid after save new records in databaseExtjs 3.4 在数据库中保存新记录后自动重新加载网格
【发布时间】:2014-10-08 02:12:26
【问题描述】:

使用 Extjs 3.4 我在 store 中调用 save() 方法来保存新记录。 save() 方法工作正常:我在数据库中看到了新记录。问题是save() 方法在保存后不会自动重新加载网格。

gridStore.save(); //Ok it works but grid is not reloaded.

【问题讨论】:

    标签: javascript extjs store


    【解决方案1】:

    只需将 store 的 autoSync 属性覆盖为“true”即可完成工作!!

    【讨论】:

      【解决方案2】:

      当服务器在数据库中插入数据时,他必须返回刚刚创建的新记录。响应必须是全新的记录,而不仅仅是新的 ID。使用此解决方案 extjs 解析服务器响应并自动重新加载网格。

      【讨论】:

        【解决方案3】:
        gridStore.save();
        gridStore.load();
        

        但是很好的做法

        gridStore.sync({
           success: function() { 
              gridStore.load();
           }
        });
        

        【讨论】:

        • 在 Extjs 3.4 中没有 sync() 方法
        • 是的,因此我首先编写了 save() 和 load()。在以下版本的 extjs 中,最好使用第二种方式来保存和重新加载存储。
        • 保存是异步的,所以当我调用 load 时可能保存还没有完成
        • 看我的解决方案,我刚刚写了一个答案
        猜你喜欢
        • 2014-10-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-02
        • 1970-01-01
        • 2023-04-02
        • 2017-07-28
        • 2021-03-10
        相关资源
        最近更新 更多