【问题标题】:Extjs 3.4.1 Multiple calls to store to retrieve recount countExtjs 3.4.1 多次调用 store 以检索重新计数
【发布时间】:2013-09-04 15:55:42
【问题描述】:

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

【问题讨论】:

  • 你的问题太模糊,描述你的代码是个坏主意。
  • 不确定我是否理解您的回复 - 简单地说,我多次调用商店并将记录计数推送到数组以供将来使用。数组中的计数值是正确的,但有些不是正确的顺序。产生大量记录计数的调用往往是不正确顺序的调用,而产生 0 或少量记录计数的调用的顺序正确,但受损坏元素影响的调用除外。
  • 您的代码未按预期工作,您未发布任何代码。你希望别人如何提供帮助?
  • 我目前无法访问实际代码,但在原始问题中提供了内存中的要点。
  • getCount 搞砸了,请贴出实际代码

标签: arrays extjs store


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-26
    • 2011-07-01
    • 1970-01-01
    相关资源
    最近更新 更多