2013-06-20 26 views
1

试图了解行编辑如何工作。 Sencha网站上的example行编辑如何在extjs 4.2中工作?

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

此外Sencha演示还包含行编辑代码。非常感谢

回答

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 } 
      }); 
     } 
    } 
}) 
+0

我已经使用这个代码编辑的数据,但我Ajax调用之前没有得到编辑的行的值。如何获取编辑的数据?以及如何通过ajax将编辑的数据发送到服务器端脚本。 –

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