今天做的一个简单的现实grid,但是我修改时,后台传过去的值没有改变,还是原来的值,我郁闷,望大家能给个建议!
actionpublic void saveOrUpdatePosStrip() {
// if (null == posStrip) {
// outJsonFailure("不能获得PosStrip");
// return;
// }
;
List<PosStrip> psList = JsonUtils.jsonToList(PosStrip.class, psData);
System.out.println("--------------------"+psList.size());
System.out.println("--------------------"+psList.get(0).getId());
System.out.println("--------------------"+psList.get(0).getSerial());
try {
psService.saveOrUpdatePosStrip(psList);
outJsonSuccess("数据修改成功");
} catch (SqlOperationException e) {
outJsonFailure(e.getMessage());
}
}
servicepublic void saveOrUpdatePosStrip(List<PosStrip> addOreditList)
throws SqlOperationException {
try {
for (PosStrip posStrip : addOreditList) {
System.out.println(posStrip.getId());
System.out.println(posStrip.getYear());
if (posStrip.getId() != null && !posStrip.getId().equals("")) {
dao.update(posStrip);
} else {
dao.insert(posStrip);
}
}
} catch (Exception e) {
throw new SqlOperationException("错误,请重新操作!");
}
}jsExt.onReady(function() {
var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
header : 'ID',
hidden : true,
dataIndex : 'id'
}, {
header : "类型",
width : 200,
sortable : true,
dataIndex : 'type',
align : 'center'
}, {
header : '年',
width : 120,
sortable : true,
dataIndex : 'year',
align : 'center'
}, {
header : '月',
width : 120,
sortable : true,
dataIndex : 'month',
align : 'center'
}, {
header : 'Serlal',
width : 200,
sortable : true,
dataIndex : 'serial',
align : 'center'
}, {
header : '创建人',
width : 120,
sortable : true,
dataIndex : 'createuserid',
align : 'center'
}, {
header : '创建时间',
width : 200,
sortable : true,
dataIndex : 'createdate',
align : 'center'
}, {
header : 'orgId',
width : 100,
sortable : true,
dataIndex : 'orgId',
align : 'center'
}]);
var psStore = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({
url : 'pos/posStripAction!getPosStripData.action'
}),
reader : new Ext.data.JsonReader({
totalProperty : 'total',
root : 'root'
}, [{
name : 'id'
}, {
name : 'type'
}, {
name : 'year'
}, {
name : 'month'
}, {
name : 'serial'
}, {
name : 'createuserid'
}, {
name : 'createdate'
}, {
name : 'orgId'
}])
});
var addBtn = new Ext.Button({
'text' : '新建',
icon : MCLONIS + '/js/images/add_16.gif',
handler : function() {
insetOrUpdate(psStore, null, 'save');
}
});
var editBtn = new Ext.Button({
'text' : '修改',
icon : MCLONIS + '/js/images/modify.png',
handler : function() {
var record = grid.getSelectionModel().getSelected();
if (!record) {
Ext.Msg.alert('提示', '请选择要修改的记录');
return;
}
insetOrUpdate(psStore, record.get('id'), 'update');
}
});
var deleteBtn = new Ext.Button({
'text' : '删除',
icon : MCLONIS + '/js/images/delete.gif',
handler : function() {
var record = grid.getSelectionModel().getSelected();
if (!record) {
Ext.Msg.alert("提示", "请选择要删除的记录");
return;
}
Ext.Msg.confirm("提示", "确定要删除吗", function(bt) {
if (bt != 'yes')
return;
var url = 'pos/posStripAction!deletePosStrip.action';
var params = {
'posStrip.id' : record.get('id')
};
ajaxcall(url, params, function(result) {
Ext.Msg.alert('提示', result.message,
function() {
if (result.success) {
psStore.reload();
}
});
});
});
}
});
var toolbar = new Ext.Toolbar({
items : [addBtn, "-", editBtn, "-", deleteBtn]
}); var grid = new Ext.grid.GridPanel({
id : 'grid',
renderTo : Ext.getBody(),
layout : 'fit',
ds : psStore,
cm : cm,
autoWidth : true,
autoHeight : true,
autoSizeColumns : true,
loadMask : true,
trackMouseOver : true,
labelAlgn : 'center',
tbar : toolbar,
bbar : createPagingToolbar(grid, psStore, 20),
listeners : {
'dblclick' : function() {
var record = grid.getSelectionModel().getSelected();
insetOrUpdate(psStore, record.get('id'), 'update');
}
}
});
psStore.load({
params : {
start : 0,
limit : 20
}
});});function insetOrUpdate(ds, idValue, method) {
var title_form = "增加PosStrip"
if (method == 'update') {
title_form = '修改PosStrip';
}
var type = new Ext.form.TextField({
fieldLabel : '类型',
name : 'posStrip.type',
anchor : '95%',
allowBlank : false
})
var year = new Ext.form.TextField({
fieldLabel : '年',
name : 'posStrip.year',
anchor : '95%',
allowBlank : false
})
var month = new Ext.form.TextField({
fieldLabel : '月',
name : 'posStrip.month',
anchor : '95%',
allowBlank : false
})
var hidden = new Ext.form.Hidden({
name : 'posStrip.id'
})
var formPanel = new Ext.form.FormPanel({
labelAlign : 'right',
labelWidth : 80,
frame : true,
reader : new Ext.data.JsonReader({
root : 'root'
}, [{
name : 'posStrip.id',
mapping : 'id'
}, {
name : 'posStrip.type',
mapping : 'type'
}, {
name : 'posStrip.year',
mapping : 'year'
}, {
name : 'posStrip.month',
mapping : 'month'
}]),
items : [{
xtype : 'fieldset',
title : title_form,
layout : 'column',
autoHeight : true,
items : [{
columnWidth : 1,
layout : 'form',
items : [hidden, type]
}, {
columnWidth : 1,
layout : 'form',
items : [year]
}, {
columnWidth : 1,
layout : 'form',
items : [month]
}]
}],
buttons : [{
text : '提交',
icon : MCLONIS + "/js/images/btn-save.png",
handler : function() {
var psData = new Array();
psData
ds.each(function(record) {
if (null != record.get('id')) {
psData[psData.length] = Ext.encode(record.data);
}
}); if (formPanel.getForm().isValid()) {
formPanel.form.submit({
url : 'pos/posStripAction!saveOrUpdatePosStrip.action',
method : 'post',
waitMsg : '正在提交数据...',
params : {
'psData' : psData
},
success : function(form, action) {
var result = action.result;
if (result.success == true) {
Ext.MessageBox.alert("提示", '数据提交成功');
formPanel.form.reset();
}  else {
Ext.MessageBox.alert("提示", "数据失败");
window.close();
}
ds.reload();
},
failure : function(form, action) {
Ext.MessageBox.show({
title : '提示信息',
msg : action.result.message,
buttons : Ext.MessageBox.OK,
icon : 'ext-mb-error'
})
ds.reload();
window.close();
}
});
}
}
}, {
text : '重置',
icon : MCLONIS + "/js/images/reset.png",
handler : function() {
if (method == 'update') {
formPanel.form.load({
url : '',
method : 'post',
params : {
'id' : idValue
}
});
} else {
formPanel.form.reset();
}
}
}, {
text : '复制',
icon : MCLONIS + "/js/images/copy.png",
handler : function() { }
}, {
text : '取消',
icon : MCLONIS + "/js/images/btn-cancel.png",
handler : function() {
window.close();
}
}]
});
var window = new Ext.Window({
plain : true,
layout : 'form',
resizable : true,// 改变大小
draggable : true, // 不允许拖动
colseAction : 'close', // 可被关闭的close or hide
modal : true, // 模态窗口
width : 380,
autoHeight : true,
title : 'PosStrip编辑',
items : [formPanel], // 嵌入数据
buttonAlign : 'center',
loadMask : true
});
window.show();
// 根据id对其进行加载
if (idValue != null) {
formPanel.form.load({
url : 'pos/posStripAction!loadData.action',
params : {
'id' : idValue
},
method : 'post',
success : function(action, form) {
var result = Ext.util.JSON.decode(form.response.responseText).root[0];
}
});
}
}