Javascript 如何将数据从外部存储保存到阵列?
我有一个数组Javascript 如何将数据从外部存储保存到阵列?,javascript,extjs,Javascript,Extjs,我有一个数组 var new_data = [['333333.333','44444.222'], ['4444.222','78777.1111']]; 我有一家商店 var datastore = new Ext.data.ArrayStore({ fields: [ {name: 'X', type: 'float'},
var new_data = [['333333.333','44444.222'], ['4444.222','78777.1111']];
我有一家商店
var datastore = new Ext.data.ArrayStore({
fields: [
{name: 'X', type: 'float'},
{name: 'Y', type: 'float'}
]
});
datastore.loadData(new_data);
我有一个editorgrid
var cm_koord = new Ext.grid.ColumnModel({
columns: [
{header: "X",
dataIndex:"X",
editor: new Ext.form.TextField({allowBlank: false})
},{
header:"Y",
dataIndex:"Y",
editor: new Ext.form.TextField({allowBlank: false})
}]
})
var koord_tab = new Ext.grid.EditorGridPanel({
title:"Симантика",
store: datastore,
region: 'center',
cm: cm_koord,
//height: 100,
autoScroll: true,
//bbar:[saveButton,cancelButton,editButton]
})
问题:编辑后如何保存更改?我的意思是如何在
新数据中保存更改数组?您可以在您的数组存储上使用getRange方法,如下所示:
new_data = [];
Ext.each(datastore.getRange(), function (rec) {
var rec_data = [];
rec.commit();
for (var i in rec.data) {
rec_data.push(rec.data[i]);
}
new_data.push(rec_data);
});
希望这有帮助 很好。但是,源数组中的哪些更改呢?为什么datastore.commitChanges()代码>不要这样做?我现在无法测试,但您不能在循环遍历每个记录的数据之前调用其提交方法吗?