как установить фокус? - PullRequest
2 голосов
/ 12 мая 2011

У меня есть 2 сетки и одна выбранная строка в каждой сетке. После редактирования ячейки во второй сетке я хочу установить фокус на первую сетку.

  grid2.on('afteredit') {
      grid1.focus()
 })

не работает. Как это сделать?

Ответы [ 2 ]

2 голосов
/ 12 мая 2011

RowSelectionModel имеет метод с именем selectRow (), который будет выделять указанную вами строку, которая прикреплена к записи.Предполагая, что это то, что вы подразумеваете под фокусом?

Тем не менее, ваш код будет выглядеть примерно так:

`

grid2.on('afteredit', function(edit_event) {
    var id = edit_event.record.get('id');
    var grid1_record = grid1.store.getById(id);
    grid1.getSelectionModel().selectRow(grid1_record);
}, this);

`

что-товот так.

1 голос
/ 12 мая 2011

Пара вещей:

1.Синтаксис прослушивателя событий

Если бы это могло сработать, вы бы хотели сделать что-то вроде этого:

grid2.on('afteredit', function(event) {
    grid1.focus();
}, this);

2.Использование Focus

Хотя в документации ExtJS API говорится, что .focus () является допустимым методом, вызываемым для компонента сетки, стоит отметить, что описание этого метода на самом деле гласит:

Попробуйте сосредоточить внимание на этом компоненте.

Хотя GridPanels и тому подобное наследуют от класса Component, focus () обычно используется для компонентов на основе форм, которые также наследуются от Component.учебный класс.Таким образом, если вы вызываете focus (), это не значит, что он будет работать так, как вы ожидаете для каждого компонента.

На какую часть сетки вы пытаетесь сфокусироваться?Если в сетке есть редактируемые поля, на которые вы пытаетесь сфокусироваться, вместо этого вы можете сосредоточиться на них, используя какое-то свойство объекта, переданного при срабатывании события afteredit, которое содержит ссылки на сетку, запись, поле, значение,originalValue, индексы строк и столбцов по умолчанию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...