Ваш ответ мне очень помогает и направляет меня к правильному решению, хотя я потратил больше 3 часов на написание правильного кода, но мне это удалось:)
Большое спасибо.
Подводя итог:
я определил 2 переменные:
var selICol; //iCol of selected cell
var selIRow; //iRow of selected cell
я установил их в beforeEditCell события:
beforeEditCell : function(rowid, cellname, value, iRow, iCol)
{
selICol = iCol;
selIRow = iRow;
},
, а затем в editoptions для обеих ячеек редактирования, которые я установил:
первая редактируемая ячейка в строке ( Inventúrny stav на картинке), поведение на вкладке для выбора следующей редактируемой ячейки по умолчанию
editoptions: {
dataInit : function (elem) { $(elem).focus(function(){ this.select();}) },
dataEvents: [
{
type: 'keydown',
fn: function(e) {
var key = e.charCode || e.keyCode;
if (key == 13)//enter
{
setTimeout("jQuery('#inventuraGrid').editCell(" + selIRow + " + 1, " + selICol + ", true);", 100);
}
}
}
]
}
вторая редактируемая ячейка в ряду (Склад. Cena на картинке)
- я вручную установил iCol для следующей редактируемой ячейки в следующей строке
editoptions: {
dataInit : function (elem) { $(elem).focus(function(){ this.select();}) },
dataEvents: [
{
type: 'keydown',
fn: function(e) {
var key = e.charCode || e.keyCode;
if(key == 9) // tab
{
setTimeout("jQuery('#inventuraGrid').editCell(" + selIRow + " + 1, 4, true);", 100);
}
else if (key == 13)//enter
{
setTimeout("jQuery('#inventuraGrid').editCell(" + selIRow + " + 1, " + selICol + ", true);", 100);
}
}
}
]
}