1

试图了解行编辑的工作原理。这是 Sencha 网站上的示例

所以我看到我们可以编辑和保存行元素,但是有人可以逐步解释我更新/保存的列的存储位置吗?我怎样才能访问它们?

Sencha 演示也有行编辑的代码。非常感谢

4

2 回答 2

4

使用插件所做的任何更改RowEditing都直接对您正在编辑的网格存储中的模型进行。然后,您可以随心所欲地使用该商店将其保存到服务器或使用其他任何地方store.sync()

保存使用行编辑器输入的数据的一种常见方法是将edit侦听器添加到您的RowEditing插件配置中,并让您的服务器在那里调用:

var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', {
    clicksToMoveEditor: 1,
    autoCancel: false,
    listeners: {
        edit: function(editor, context, eOpts) {
            var record = e.record;
            //do your processing here, e.g.:
            Ext.Ajax.request({
                url: 'myServer/saveRecord',
                params: { record: record }
            });
        }
    }
})
于 2013-06-21T14:24:47.030 回答
0

请检查这一行

var record = e.record;

此处事件 e 未在此函数中定义。所以将其更改为 eOpts.record 以获取该记录

Ext.data.JsonP.request({
                            url: url,
                            params: { record :  Ext.encode( record) } ,
                            success: function(data) {
                                store.load();
                            },
                            failure : function(record, operation) {
                                store.rejectChanges();
                            }
                        });
于 2013-11-26T06:37:08.927 回答