Extjs 3.4.1多次调用存储以检索重新计数

时间:2013-09-01 11:29:52

标签: arrays extjs store

请耐心等待,我对ExtJs很新。我需要显示与网格中的目录关联的所有文档的计数。使用列模型,我使用网格行目录信息调用商店(作为参数传递给商店)。然后我在商店中有一个加载侦听器,它有一个用于记录计数的数组.push函数。这一切都正常,除非我在测试循环中显示数组值时,一些(而非全部)值与已知目录文档计数不对应。

值总体上是正确的,但它们不在数组中的正确元素中,并且不与相应的网格行对齐。 (即阵列元素0-10正确,11-13扰乱,14-30正确等等。)。我注意到正确的元素没有或非常低的记录数,并且加扰元素具有相对较高的记录数。

我相信在文件较少的目录之后,有大量文件的目录被推送到数组,但我不知道如何测试或控制它。

非常感谢任何有关正确且可能更有效地将此信息输入阵列的信息/帮助(无需拨打大量的电话到商店)。

column model used with grid
.........
{header: col2, renderer: function(value, rowIndex, record){
   getCount(record.Name, record.Id);
}};
........

getCount = function(name, id){

store = data.store(){
baseParams: {name: name, id: id},
    listeners: {
       load: function(p, options){
            docCount.push(p.getCount());//global array
    }
       }
    };

  };
  store.load();
};

1 个答案:

答案 0 :(得分:0)

如果您异步获取记录(即使用Ext.Ajax.request),您的记录会在您的源创建完成后立即返回。由于它们是异步的,因此返回的顺序与请求的顺序不同,因为源需要更长的时间才能返回大型计算。

您可以尝试发送带有索引编号的参数(例如' reqId',' index'等...)并让您的来源阅读并将其与您一起返回结果