前一章说了EditorGrid可编辑表格,可是有点不方便,若是数据多的话,一次性保存未免有点不太方便。下面咱们来讲一个扩展插件rowEditing网上许多说了不全,好比将修改的内容提交到后台的方法html
首先,建立扩展插件方法ajax
var rowEditing = Ext.create('Ext.grid.plugin.RowEditing', { saveBtnText: '保存', cancelBtnText: "取消", autoCancel: false, clicksToMoveEditor: 1, //双击进行修改 1-单击 2-双击 0-可取消双击/单击事件 autoCancel: false, listeners:{ edit:function(e){ /*var myMask = new Ext.LoadMask(Ext.getBody(), { msg: '正在修改,请稍后...', removeMask: true //完成后移除 }); myMask.show();*/ console.info(e.context.record); //e.context.record为更改的这行的数据,某个值能够用get方法,好比下面 var id = e.context.record.get('id'); //好比修改了id,在这里就能够获取id //e.context.record.fields.items为修改的这行字段名,这是一个数组集合,e.context.record.fields.items[0].name为第一列的名称,以此类推 // 更新提示界面(供调试使用) Ext.Msg.alert('您成功修改信息', "修改的内容是:" + e.context.record + "n 修改的字段是:"+ e.context.record.fields.items[0].name +"n 修改的id为"+id);//取得更新内容 } //固然这里你也能够自定义一个ajax来提交到后台,你们自由发挥,这里很少写。 } });
grid中调用插件:数组
var grid = new Ext.grid.GridPanel({ title:'表格的扩展插件--行编辑', width: 500, height: 400, renderTo: 'grid', store: store, columns: columns, plugins: [rowEditing] });
这里注意下,提交到后台的参数里e.context.record和e.context.record.fields方法比较重要,
e.context.record为更改的这行的数据,获某个值能够用get方法
e.context.record.fields.items为修改的这行字段名,这是一个数组集合,e.context.record.fields.items[0].name为第一列的名称,以此类推。
连载中,请你们持续关注,本文出自个人我的网站思考者日记网ide