-
grid修改后数据保存问题5
最近在研究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))
);
}
}])
问题补充:
afteredit 这个方法我想到过,但是还是没有办法区分删除的数据啊
问题补充:
用数组的方式我也想过,如果用数组的话,那么对于新增和删除的数据都可以通过数组中的一个标志来实现,这样的话我导出的数据中必须要存在一个PK保证唯一性。那么这样做的话通用性势必会差上不少。不知道EXT框架有没有区分这个数据方法。2009年6月17日 20:54
5个答案 按时间排序 按投票排序
-
你可以再grid上面保存一个数组.用这个数组来保存删除记录的id.到时候更新的时候把这个数组一并提交到后台即可
不论是否是新增记录都不怕啦.反正只要你前面删除了.grid的数组就去掉相应的id即可2009年6月17日 21:34
-
beforeedit : ( Object e )
Fires before cell editing is triggered. The edit event object has the following properties grid - This grid record ...
Fires before cell editing is triggered. The edit event object has the following properties
* grid - This grid
* record - The record being edited
* field - The field name being edited
* value - The value for the field being edited.
* row - The grid row index
* column - The grid column index
* cancel - Set this to true to cancel the edit or return false from your handler.
Listeners will be called with the following arguments:
* e : Object
An edit event (see above for description)
2009年6月17日 21:11
-
Store 里面有 getModifiedRecords() : Ext.data.Record[] 这个方法是获得所有修改过的记录
EditorGridPanel有这么个事件
afteredit : ( Object e )
Fires after a cell is edited. The edit event object has the following properties grid - This grid record - The reco...
Fires after a cell is edited. The edit event object has the following properties
* grid - This grid 网格
* record - The record being edited 当前修改的记录
* field - The field name being edited 当前修改的字段
* value - The value being set 修改后的value
* originalValue - The original value for the field, before the edit. 修改前的value
* row - The grid row index 行
* column - The grid column index 列
Listeners will be called with the following arguments:
* e : Object
An edit event (see above for description)
利用这些就可以了2009年6月17日 21:10
相关推荐
#region//--------修改数据就将数据保存并显示 if (MessageBox.Show("是否保存数据?", "系统消息", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult....
//将grid更新为已保存状态(客户端) commit:function(records){ Ext.Array.each(records,function(record){ record.updateInfo(); record.commit(); }); } //刷新tree指定的的节点 store.load({node:node}); //...
通常用修改processing属性,可以把你的数据窗口由grid变成freeform或其它类型 例:freeform:0 grid:1 3.header()行 可以整行复制粘贴,并命名为header[1],header[2],这样可以让数据窗口有多个header 4.table()行 这里...
流式aggrid AgGrid是Web前端的一个令人敬畏的网格。 有关更多信息, 。 如果要使用企业功能,请考虑从Ag-Grid购买许可证! 评论如果您喜欢它或 安装 pip install streamlit-aggrid 快速使用 创建一个example.py...
CancelData 取消数据修改的方法,具体功能中调用该过程取消数据修改 1.2.2 BaseGridEdit BaseGridEdit是所有直接使用DataGridView进行编辑的功能的基类。BaseGridEdit从BaseEditClass继承。 自定义属性 名称 说明 ...
固定行和列是任何时候不许编辑的,但是可以代码修改设置 2,可以设置背景色(包括固定好和表格内部背景色,非固定单元格背景只对新建单元格有效) 3,可以合并单元格(横向竖向均可合并,支持横竖同时合并单元格效果) 4,边框...
Repertory Grid Tool 是一种 Web 表单,可让您管理 Repertory Grid 访谈。 遵循凯利 (1955) 的,假设人们用他们自己的术语来解释...网页在更改时自动保存数据。 此时,您无法访问或检索此数据(除了通过 javascript
元数据信息修改、添加、删除、保存等 ); 元数据更新入库 (元数据检查、元数据历史版本,元数据与对应基础地理数据关联,同步更新)。 10、系统管理 用户与权限管理(用户、角色、权限等添加、修改、删除、保存)...
sqlyog是连接各种数据库的可视化工具,非常良好。...支持更改数据表类型为ISAM、MYISAM、MERGE、HEAP、InnoDB、BDB。 刷新数据服务器、日志、权限、表格等。 诊断数据表--检查、压缩、修补、分析。
如何使程序具有修改后退出提示保存的功能(可以推广到任何数据库应用) 最后还加了个好玩的功能:将图片转换成EXCEL拚图(骗女孩子专用)。 不过这个功能超慢,不是慢在VB的Point方法上, 而是慢在EXCEL设置单元格背景色...
元数据信息修改、添加、删除、保存等); 元数据更新入库 (元数据检查、元数据历史版本,元数据与对应 基础地理数据关联,同步更新)。 10、系统管理 用户与权限管理(用户、角色、权限等添加、修改、删除、保 存)...
SQLyog 是一个易于使用的、... 24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析。 安装后运行补丁,本人亲测可用
SQLyog 是一个快速而简洁的图形化管理MYSQL数据库的工具,它能够在... 支持更改数据表类型为ISAM、MYISAM、MERGE、HEAP、InnoDB、BDB。 刷新数据服务器、日志、权限、表格等。 诊断数据表--检查、压缩、修补、分析。
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL...24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析;
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL... 24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析;
SQLyog 是一个易于使用的、快速而简洁的图形化管理...24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析;
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL... 24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析;
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL... 24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析;
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL...24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析;
SQLyog 是一个易于使用的、快速而简洁的图形化管理MYSQL...24、支持更改数据表类型为ISAM, MYISAM, MERGE, HEAP, InnoDB, BDB 25、刷新数据服务器、日志、权限、表格等; 26、诊断数据表:检查、压缩、修补、分析;