Cordova 在Sencha touch&;中迭代数据存储;编辑记录
我正在为我的混合cordova应用程序使用Sencha touch v 2.3.0。 我们如何循环使用Sencha touch数据存储和更新每条记录Cordova 在Sencha touch&;中迭代数据存储;编辑记录,cordova,extjs,sencha-touch-2.3,Cordova,Extjs,Sencha Touch 2.3,我正在为我的混合cordova应用程序使用Sencha touch v 2.3.0。 我们如何循环使用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('fav
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();
});
上面的数据显示在列表上,现在当我拖动列表上的第三行使其位于顶部时。
下面是我尝试通过迭代设置order_索引时的控制台
拖动前fav列表名称:Electrical Essentials orderInd:2
拖动前fav列表名称:Steel orderInd:0
拖动前fav列表名称:示例收藏夹列表顺序索引:1
通过迭代设置order_索引后,下面是迭代时数据存储上的数据
迭代索引处的记录:0 fav列表名称:Electrical EssentialsorderInd:2
迭代索引处的rec:1 fav列表名称:Electrical EssentialsorderInd:0
在索引处迭代rec:2 fav列表名称:电气基本顺序索引:1
我不明白为什么在执行迭代和更新orderInd时无法正确获取记录。在设置之前,记录正确获取的位置代码有什么问题?代码中的x值是多少?另外,在上一次迭代后执行
sync
,无需将记录标记为dirty
,因为这是在调用set
时自动完成的。我仍然不知道您在这里面临什么问题。控制台说了什么?我添加了更多关于我所面临的问题的细节@Ahmadwabi。我还尝试删除将记录标记为肮脏的内容,但这不起作用
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