относительно фокуса на строке в расширенной сетке

Я хочу сосредоточиться на первой ячейке вновь созданной строки в сетке. Пожалуйста, предложите, как я могу сделать фокус доступным для вновь добавленной строки в сетке при нажатии кнопки.

store.onNew = function( new_item ) {
             var rowIndex = new_item._0;
             window.setTimeout(function() {
                grid.focus.setFocusIndex( rowIndex, 1 );
                grid.edit.setEditCell(grid.focus.cell, rowIndex );
            },0);   

Я хочу реализовать таким образом, чтобы когда пользователь нажимал кнопку, фокус автоматически переходил на первую ячейку вновь созданной строки, и пользователь не должен прокручивать, чтобы увидеть это. Пожалуйста, найдите скрипку: http://jsfiddle.net/qKjm7/15/


person user222    schedule 24.03.2015    source источник
comment
Ваша скрипка работает неправильно. Нажатие кнопки «Добавить строку» ничего не делает   -  person Thomas Kagan    schedule 25.03.2015


Ответы (1)


Вы должны использовать расширенную функцию сетки scrollToRow и передать номер строки, к которой вы хотите прокрутить, в вашем случае это будет 0 для первой строки.

Пример:

grid.scrollToRow(0)

Я также приложил Fiddle, демонстрирующий это здесь http://jsfiddle.net/kagant15/x9kLbqz5/

person Thomas Kagan    schedule 25.03.2015
comment
+1 Принял ответ. Я использую разбиение на страницы для расширенной сетки. Предложенное вами решение отлично работает, когда я добавляю новую строку на той же странице, как только ограничение страницы выполнено, на следующей странице добавляется новая строка (концепция разбиения на страницы), фокус переходит на следующую страницу, недавно добавленную строка, но проблема в том, что поле не становится редактируемым, как только оно фокусируется. Пользователь должен щелкнуть новую строку, чтобы сделать ее доступной для редактирования, и ниже я вижу ошибку javascript: Ошибка: dojo.data.ItemFileWriteStore: Invalid аргумент элемента, когда новая добавленная строка находится на следующей странице. Пожалуйста, предложите, спасибо. @Томас Каган - person user222; 25.03.2015