繁体   English   中英

如何从Ext.Store到数组的sava数据?

[英]How to sava data from Ext.Store to array?

我有一个阵列。

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);

我有一个编辑网格。

                            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]
                            })

问题:如何在编辑后保存更改? 我的意思是如何在new_data数组中保存更改?

您可以在arrayStore上使用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);
});

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM