level 1
var sm = grid.getSelectionModel();
/**
* 重新定义grid的tab键操作,使其可以顺序编辑表单,并在最后一行的“保险”字段点击tab时,跳出grid聚焦到下面的元素
*/
sm.onEditorKey = function(field, e){
var k = e.getKey(), newCell, g = sm.grid, ed = g.activeEditor;
if(k == e.TAB){
/*
* 如果为新增商品的最后一行(合计行的上一行)最后一个字段点击tab时,聚焦到回单元素
* 否则,按照tab原有操作进行
*/
if(ed.row == store.getCount()-2 && ed.col == 7){
e.stopEvent();
ed.completeEdit();
Ext.getCmp(*receiptHd*).focus();
}else{
e.stopEvent();
ed.completeEdit();
//定位聚焦的对象
if (e.shiftKey) {
newCell = g.walkCells(ed.row, ed.col-1, -1, sm.acceptsNav, sm);
} else {
newCell = g.walkCells(ed.row, ed.col+1, 1, sm.acceptsNav, sm);
}
}
if(newCell){
//使定位到的聚焦对象进入编辑状态(保持原有tab的功能)
g.startEditing(newCell[0], newCell[1]);
}
}else if(k == e.ESC){
ed.cancelEdit();
}
};
2014年10月16日 06点10分


