【问题标题】:Adding dynamic data to extjs store将动态数据添加到 extjs 存储
【发布时间】:2013-04-16 10:43:49
【问题描述】:

我需要通过循环将大量记录动态添加到 extjs 数据存储中。但是 store.add 通常需要很长时间。是否可以将这些数据一起添加?

【问题讨论】:

    标签: extjs store


    【解决方案1】:

    您可以使用 store.loadData() 或 store.loadRecords() 方法:

     var mydata = [
         [1, 'John', 'Smith'],
         [2, 'Fred', 'Jones']
     ];
    store.loadData(mydata, false); 
    

    【讨论】:

    • 但这也需要很长时间。调试的时候,我们可以理解。
    • 这是一个广泛的网络应用程序。在其中的一个页面中,我有一个网格,其中包含几个申请人及其详细信息。当我们单击申请人的特定列时,将打开一个弹出窗口。在这个弹出窗口中,我还有另外三个网格,其中包含该申请人的一些其他详细信息。但是只有在第一个网格中点击申请者后,才能将数据插入到每个网格对应的每个商店。将数据添加到商店需要更多时间,因此弹出窗口的打开速度太慢。我不能在其他任何地方这样做,或者我不能更早地设置它。这就是问题所在。
    【解决方案2】:

    在ExtJS Store中添加或修改大量数据时,建议您使用以下方法禁用所有事件:

    store.suspendEvents();
    for(var i=0; i<9000, i++) {
        store.add({ ... });
    }
    store.resumeEvents();
    

    当您的插入完成后,再次启用事件。这可以极大地提高您的表现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 2012-01-31
      • 2014-04-14
      • 1970-01-01
      • 2015-05-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多