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条)

报告相同问题?

悬赏问题

  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)