0

请多多包涵,我对 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();
};
4

1 回答 1

0

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

您可以尝试发送一个带有索引号的参数(即“reqId”、“索引”等...)并让您的源读取它并将其与您的结果一起返回

于 2013-09-13T23:30:54.623 回答