Extjs 3.4.1 Множественные вызовы для сохранения для получения счетчика пересчета

Пожалуйста, потерпите меня, я очень новичок в 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();
};

person Kirk    schedule 01.09.2013    source источник
comment
Ваш вопрос слишком расплывчатый, описывать свой код - плохая идея.   -  person Evan Trimboli    schedule 01.09.2013
comment
Не уверен, что понимаю ваш ответ - просто я делаю несколько вызовов в хранилище и помещаю количество записей в массив для будущего использования. Значения счетчика в массиве правильные, но некоторые не в правильном порядке. вызовы, которые производят большое количество записей, как правило, находятся в неправильном порядке, тогда как вызовы, которые производят 0 или маленькое количество записей, находятся в правильном порядке, за исключением тех, которые вызваны поврежденными элементами.   -  person Kirk    schedule 01.09.2013
comment
Ваш код не работает так, как вы предполагали, вы не опубликовали код. Как вы ожидаете, что кто-нибудь поможет?   -  person Evan Trimboli    schedule 01.09.2013
comment
В настоящее время у меня нет доступа к фактическому коду, но я предоставил суть по памяти в исходном вопросе.   -  person Kirk    schedule 02.09.2013
comment
getCount перепутался, опубликуйте фактический код, пожалуйста   -  person dbrin    schedule 14.09.2013


Ответы (1)


если вы получаете свои записи асинхронно (т.е. используя Ext.Ajax.request), ваши записи возвращаются, как только ваш источник завершает их создание. Поскольку они являются асинхронными, порядок, который они возвращают, не будет таким же, как они были запрошены, поскольку источнику требуется больше времени для возврата больших вычислений.

Вы можете попытаться отправить параметр с номером индекса (например, «reqId», «index» и т. д.), и ваш источник прочитает его и вернет с вашим результатом.

person Marciano    schedule 13.09.2013