首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

在extjs 的editgrid 批改数据保存到数据库中的方法

2013-07-29 
在extjs 的editgrid 修改数据保存到数据库中的方法定义一个读取xml数据类型的storevar store new Ext.da

在extjs 的editgrid 修改数据保存到数据库中的方法
定义一个读取xml数据类型的store
var store = new Ext.data.Store({
url : 'http://localhost:8888/web_test/servlet/test2',
reader : new Ext.data.XmlReader({
record : 'student',// 取得一条记录的起始标签
totalRecords : '@total'
}, ["name", "age", "id"
])
});
/////////////////////////////////////////////////////////////
在editgridPanel中的代码
var grid = new Ext.grid.EditorGridPanel({
renderTo : document.body,
title : "Student",
store : store,
frame : true,
clicksToEdit : 1,
// columns:[{id:"name",header:"id",dataIndex:"id",sortable:true
// },
// {header:"name",dataIndex:"name",sortable:true },
// {header:"age",dataIndex:"age",sortable:true }
// ],
columns : [{
id : "id",
header : "id",
dataIndex : "id",
sortable : true,
editor : new Ext.form.TextField()
}, {
header : "name",
dataIndex : "name",
editor : new Ext.form.TextField()
}, {
header : "age",
dataIndex : "age",
editor : new Ext.form.TextField()
}],
width : 500,
height : 500,
//tbar:tb,
listeners:{
afteredit:function(e){
var conn=new Ext.data.Connection();
alert(e.record.id);
conn.request({
url:'http://localhost:8888/web_test/servlet/test2',
params:{
action:'update',
id:e.record.id,
field:e.field,
value:e.value

},
success:function(resp,opt){
e.commit();
Ext.Msg.alert("修改数据已保存");
},
failure:function(resp,opt){
Ext.Msg.alert("数据提交失败 ");

}


})


}

}

});


});
///////////////////////////////////////////
在listeners里面的afteredit监听事件中写了修改数据回传到xml数据源中,然后通过数据源保存.
经过验证,修改后的数据已经传入afteredit的处理函数中,可就是不能保存到数据库中去 extjs xml 数据库 editgrid


[解决办法]
在服务器端检查:数据是否正确提交到服务器处理页面,处理页面是否正确解析数据,数据库存储过程是否正确,这些代码没看到。
[解决办法]
我是先拿到修改了的gridPanel的数据,
var records = grid_hallParam.getStore().getUpdatedRecords(); //得到修改的数据
然后:
for (var i = 0 ; i < records.length ; i++){
   id = records[i].get('id').....
}
然后把修改的数据组成一个json串抛到后台,经后台去调用数据库的update语句。
希望可以帮到lz
在extjs 的editgrid 批改数据保存到数据库中的方法

热点排行