2015-03-24 4 views
0

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

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/

+0

Ваша скрипка не работает должным образом. Нажмите кнопку «Добавить строку» ничего не делает –

ответ

1

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

Пример:

grid.scrollToRow(0) 

Я также прилагается скрипка демонстрирует это здесь http://jsfiddle.net/kagant15/x9kLbqz5/

+0

+1 Принял ответ. Я использую разбиение на страницы для моей расширенной сетки. Решение, которое вы предлагаете, отлично работает, когда я добавляю новую строку на той же странице, как только предел страницы будет выполнен, новая строка добавляется на следующей странице (концепция разбивки на страницы), основное внимание будет уделено следующей добавленной странице строка, но проблема в том, что поле не становится редактируемым, как только оно фокусируется. Пользователь должен щелкнуть по новой строке, чтобы сделать ее доступной для редактирования, а ниже - ошибка javascript, которую я вижу: Ошибка: dojo.data.ItemFileWriteStore: Неверно аргумент item, когда новая добавленная строка находится на следующей странице. Пожалуйста, предложите, спасибо. @ Томас Каган – user222