Как я могу завершить редактирование с помощью клавиши со стрелкой вправо в ячейке сетки кендо?

Когда ячейка сетки кендо открыта для редактирования, как лучше всего закрыть ячейку (и перейти к следующей ячейке) с помощью клавиши со стрелкой вправо?


person Alan Painter    schedule 25.03.2015    source источник
comment
Это неудобно, пользователь не сможет перемещаться по тексту с помощью стрелки вправо. Если вы не сделаете это, когда курсор находится в конце текстового содержимого, но это все еще не поведение по умолчанию. Это поведение клавиши табуляции.   -  person DontVoteMeDown    schedule 25.03.2015
comment
Да, сэр, я знаю это. Но требования требуют и этого. Спасибо за ваши Коментарии. Алан Пейнтер   -  person Alan Painter    schedule 26.03.2015


Ответы (1)


Взгляните на следующий фрагмент. Это простой способ сделать то, что вы хотите:

// Bind any keyup interaction on the grid
$("#grid").on("keyup", "input", function(e)
{
    // Right arrow keyCode
    if (e.keyCode == 39)
    {
        // Ends current field edition.
        // Kendo docs says that editCell method:
        // "Switches the specified table cell in edit mode" 
        // but that doesn't happens and the current cell keeps on edit mode.
        var td = $(e.target)
                     .trigger("blur"); 

        // Find next field
        td = td.closest("td").next();

        // If no cell was found, look for the next row
        if (td.length == 0)
        {
            td = $(e.target).closest("tr").next().find("td:first");
        }

        // As ways happens on kendo, a little (ugly)workaround 
        // for calling editCell, because calling without 
        // the timer doesn't seem to work.
        window.setTimeout(function()
        {
            grid.editCell(td);
        }, 1);
    }
});

Я не знаю почему, но я не смог сохранить Fiddle для этого, я получил 500 Internal error. Во всяком случае, кажется, что вы достигли того, что вам нужно. Сетка должна быть в режиме редактирования incell.

person DontVoteMeDown    schedule 26.03.2015