Я новичок в EXTJS. Пожалуйста, помогите мне с проблемой ниже. У меня есть cellEditingPlugin с моделью выбора в качестве редактирования ячейки на панели сетки. Я пытаюсь поймать событие специального ключа в редакторе для клавиш со стрелками и соответственно изменить редактируемую ячейку. Я использую функцию startEditByPosition для достижения этой цели. Это работает, когда я перемещаюсь влево и вправо в одном и том же, но когда я перемещаюсь в строку выше / ниже, ячейка в строке выше / ниже теряет режим редактирования. Я пытался поймать событие фокуса в редакторе, но событие фокуса не возникает в случае, когда я перемещаю другие строки. Пожалуйста, помогите мне. Ниже приведен фрагмент кода. Я использую версию 4.0.
function specialkeyfunction(obj,e)// event handler
{
console.log("special key event");
var grid = Ext.getCmp('gridItems');
var code = e.getCharCode ();
var rowSelected = grid.view.getSelectionModel().getCurrentPosition().row;
var colSelected = grid.view.getSelectionModel().getCurrentPosition().column;
if (code == "37")
{
if(colSelected>1)
grid.plugins[0].startEditByPosition({row:rowSelected,column:colSelected-1});
}
else if (code == "39")
{
if(colSelected<(maxColumns-1))
grid.plugins[0].startEditByPosition({row:rowSelected,column:colSelected+1});
}
else if (code == "38")
{
if(rowSelected>0)
grid.plugins[0].startEditByPosition({row:rowSelected-1,column:colSelected});
}
else if (code == "40")
{
if(rowSelected<(maxRows-1))
grid.plugins[0].startEditByPosition({row:rowSelected+1,column:colSelected});
}
else
{
}
}