weixin_42303237 2009-06-17 20:54
浏览 492
已采纳

grid修改后数据保存问题

最近在研究ext grid数据保存,发现有个问题始终想不通。ext.grid 获取到修改的数据如何区分修改的数据操作类型。如:新增的记录、修改的记录和删除的记录,虽然内获取到grid中的所有字段。但如何知道所有的被修改记录中哪条记录是新增进去的、哪条记录是被修改的、哪条记录是新增后被删除的、哪条记录是在原纪录上被修改的?
以下是部分代码:
var grid = new Ext.grid.EditorGridPanel({
title:'显示内容',
loadMask:true,
store: store,
cm: cm,
sm: sm,
width: 600,
height: 280,
renderTo:'griddiv',
viewConfig:{
columsText:'显示的列',
sortAscText:'升序',
sortDescText:'降序',
forceFit:true
},
tbar: new Ext.Toolbar(['-', {
text: '添加一行',
handler: function(){
var p = new Record({
customersid:'',
customername:'',
operatortime:''
});
grid.stopEditing();
store.insert(0, p);
grid.startEditing(0, 0);
}
}, '-', {
text: '删除一行',
handler: function(){
Ext.Msg.confirm('信息', '确定要删除?', function(btn){
if (btn == 'yes') {
var sm = grid.getSelectionModel();
var selectedRow = sm.getSelected();
store.remove(selectedRow);
}
});
}
}, '-',{
xtype:"button",
text: '保存',
handler: function(){
var m = store.modified.slice(0);
var jsonArray = [];
Ext.each(m, function(item) {
jsonArray.push(item.data);
});
Ext.lib.Ajax.request(
'POST',
'10_03_01.jsp',
{success: function(response){
Ext.Msg.alert('信息', response.responseText, function(){
store.reload();
});
},failure: function(){
Ext.Msg.alert("错误", "与后台联系的时候出现了问题");
}},
'data=' + encodeURIComponent(Ext.encode(jsonArray))
);
}
}])
[b]问题补充:[/b]
afteredit 这个方法我想到过,但是还是没有办法区分删除的数据啊
[b]问题补充:[/b]
用数组的方式我也想过,如果用数组的话,那么对于新增和删除的数据都可以通过数组中的一个标志来实现,这样的话我导出的数据中必须要存在一个PK保证唯一性。那么这样做的话通用性势必会差上不少。不知道EXT框架有没有区分这个数据方法。

  • 写回答

5条回答 默认 最新

  • zhoujuan520 2009-06-17 22:06
    关注

    难道你修改到时候不需要一个id么?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样