我在editorGridPanel中的数量、单价栏分别输入值后,在单价栏输入框失去焦点时,总价栏自动计算出结果。该功能在新增一行数据时可以实现,也能写入数据。但保存后,对数据进行修改操作时,只能显示正确的数值,却不能写入数据库。比如:
新增:                               修改单价为6(保存前):                 修改单价为6(保存后): 
数量  单价  总额                     数量  单价  总额                        数量  单价  总额
4     5     20(自动计算结果)         4     6     24(自动计算结果)            4     6     20(自动计算结果)由于不知道怎么贴图,所以只能用文字描述。修改单价为6时,自动计算结果显示正确,为24.但点击保存后,单价修改为6,而总额还是20。以下是部分代码:Ext.getCmp("datagrid").on('afteredit',function(e){ //自动计算单价或总金额
var grid = Ext.getCmp("datagrid");
var currentRowNum = grid.store.indexOf(grid.getSelectionModel().getSelected()); //当前行号
quantity = grid.store.getAt(currentRowNum).data.quantity; //数量
price = grid.store.getAt(currentRowNum).data.price; //单价
amount = grid.store.getAt(currentRowNum).data.amount; //总额
if(e.field == 'price'){ //计算总额
grid.store.getAt(currentRowNum).set("amount",quantity*price);
}
if(e.field == 'amount'){ //计算单价
grid.store.getAt(currentRowNum).set("price",amount/quantity);
}       
//grid.store.getAt(currentRowNum).commit();  //该行加上也没用,整个gird用commit也没用
});个人认为可能是grid.store.getAt(currentRowNum).set()部分的问题,数据没有写入store中。但新增时我设了初始值,用的同样的方法,却没有出错。
望大家多提意见哈!不胜感激!!!!