Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数据从外部存储保存到阵列?_Javascript_Extjs - Fatal编程技术网

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()不要这样做?我现在无法测试,但您不能在循环遍历每个记录的数据之前调用其提交方法吗?