在网上找了很多资料都是直接保存form的,没有保存grid的数据的,很苦恼,
大概是这样:grid从后台数据库中取了N个数据后在浏览器中显示出来了,用户对数据进行了一系列的操作:删除行,修改行,或者复制后莫行后又粘贴,然后保存到数据库中去。因为保存数据时需要按客户调整好的顺序保存,所以最简单的方法就是把整个grid的数据发送给后台,或者按照grid的行顺序发送给后台。
不知道大家有没有好的做法奉献以下
在网上找了很多资料都是直接保存form的,没有保存grid的数据的,很苦恼,
大概是这样:grid从后台数据库中取了N个数据后在浏览器中显示出来了,用户对数据进行了一系列的操作:删除行,修改行,或者复制后莫行后又粘贴,然后保存到数据库中去。因为保存数据时需要按客户调整好的顺序保存,所以最简单的方法就是把整个grid的数据发送给后台,或者按照grid的行顺序发送给后台。
不知道大家有没有好的做法奉献以下
呵呵 这个我一直在做,楼上的那位说的对,就是用EditGrid,具体做法给你一段代码吧。
com.land.core.action.Entitymetatype.grid = new Ext.grid.EditorGridPanel({
store:com.land.core.action.Entitymetatype.store,
cm:cmEntitymetatype,
id:'DataTypeGrid',
layout: 'fit',
region:'center',
autoExpandColumn:'name',
clicksToEdit:2,
plugins:checks,
animCollapse: true,
viewConfig: {
forceFit:true
},
selModel: new Ext.grid.RowSelectionModel({
listeners: {
rowselect:function(sm,row,rec){
com.land.core.action.Entitymetatype.selectRow=row;
}
}
}),
tbar: [
{text:'新增',iconCls:'addicon',handler:function(){//alert('新增')
var r=new com.land.core.action.Entitymetatype.EntitymetatypeRecord({
'id':'',
'name':'',
'used':true,
'extender':true,
'defaultEntityTypeClassName':'',
'displayOrder':'',
'isNew':true
})
com.land.core.action.Entitymetatype.grid.stopEditing();
var i = com.land.core.action.Entitymetatype.store.getCount();
com.land.core.action.Entitymetatype.store.insert(i,r);
com.land.core.action.Entitymetatype.grid.startEditing(0, 0);
}
},{text:'刷新',iconCls:'refresh',handler:function(){
getEntitymetatype();
}},
{text:'保存',iconCls:'saveicon',handler : function(){
//alert('保存');
for(var i=0;i<com.land.core.action.Entitymetatype.store.getCount();i++){
var record=com.land.core.action.Entitymetatype.store.getAt(i);
if(record.dirty){
if(record.data.name==''){
//alert('类型名称不能为空!!!');
Ext.MessageBox.show({
title:'信息提示',
msg: '类型名称不能为空!!!',
buttons: Ext.MessageBox.OK,
icon: Ext.MessageBox.INFO
})
return ;
}
if(record.data.isNew){
Ext.Ajax.request({url:'addEntityMetaType.action',
method:'post',
params:{'entityMetaType.id':record.data.id,
'entityMetaType.name':record.data.name,
'entityMetaType.used':record.data.used,
'entityMetaType.extender':record.data.extender,
'entityMetaType.defaultEntityTypeClassName':record.data.defaultEntityTypeClassName,
'entityMetaType.displayOrder':record.data.displayOrder
},
callback:function(options,success,response){
//刷新数据
getEntitymetatype();
getEntitymetatypebox()
}
})
}
else{
Ext.Ajax.request({url:'updataEntityMetaType.action',
method:'post',
params:{'entityMetaType.id':record.data.id,
'entityMetaType.name':record.data.name,
'entityMetaType.used':record.data.used,
'entityMetaType.extender':record.data.extender,
'entityMetaType.defaultEntityTypeClassName':record.data.defaultEntityTypeClassName,
'entityMetaType.displayOrder':record.data.displayOrder
},
callback:function(options,success,response){
//刷新数据
getEntitymetatype();
getEntitymetatypebox()
;}})}}}
}
}]
});