Итерация хранилища данных в Sencha touch & edit record
Я использую Sencha Touch v 2.3.0 для моего гибридного приложения Cordova. Как пройти через хранилище данных Sencha touch и обновить каждую запись?
for (var x = 0 ;x <listStore.data.length;x++){
var record = listStore.getAt(x);
console.log('iterate rec at index:'+x+ ' fav list name:'+record.get('favorite_name')+'orderInd:'+record.get('order_index'));
record.set('order_index',x);
record.dirty = true;
listStore.sync();
});
Это обновит 1-ю запись только правильно, после этого, когда я обновлю 2-ю запись, которая все еще имеет ссылку на 1-ю запись. Также я применил сортировку к хранилищу данных с полем order_index в качестве ASC. Это хранилище данных используется в списке, для которого я включил перетаскивание и сортировку. Я должен сделать это обновление функции ondragsort
onDragSort:function(list, row, from, to) {
var listStore = Ext.getStore('FavoriteListStore');
for (x = 0 ;x <listStore.data.length;x++){
console.log('before drag fav list name:'+listStore.data.items[x].get('favorite_name')+'orderInd:'+listStore.data.items[x].get('order_index'));
}
for (var x = 0 ;x <listStore.data.length;x++){
var record = listStore.getAt(x);
console.log('iterate rec at index:'+x+ ' fav list name:'+record.get('favorite_name')+'orderInd:'+record.get('order_index'));
record.set('order_index',x);
record.dirty = true;
listStore.sync();
});
}
Первоначально мой любимый список магазина имеет следующие данные
name:Steel order_index:0
name:Sample Favorite List order_index:1
name:Electrical Essentials order_index:2
Выше данные отображаются в списке, теперь, когда я перетаскиваю третью строку в списке, чтобы вывести его наверх. Ниже приведена консоль, когда я пытаюсь установить order_index путем итерации
перед перетаскиванием имени списка избранных: Electrical Essentials orderInd: 2 перед перетаскиванием имени списка избранных: Steel orderInd: 0 перед перетаскиванием имени списка избранных: Образец списка избранных OrderInd: 1
После установки order_index путем итерации ниже приведены данные о хранилище данных, в то время как итерация повторяет запись по индексу: 0 имя списка избранного: Electrical EssentialsorderInd: 2 повторяется запись по индексу: 1 имя списка избранного: Electrical EssentialsorderInd: 0 повторяется запись по индексу: 2 список избранного Название: ЭлектроматериалыЗаказ Ind: 1
Я запутался, почему запись не выбирается правильно, когда я выполняю итерацию и обновляю orderInd. Фактически перед установкой, запись была получена правильно