Как сохранить фокус в MessageBox - PullRequest
2 голосов
/ 20 декабря 2011

Я использую EditorGridPanel с cellEditor, который работает почти как Excel. Мы реализовали клавиши со стрелками для перемещения между строками и столбцами. При проверке строки, если она не соответствует правилу проверки, мы показываем MessageBox и надеемся, что фокус не перемещается, если он недопустим. Но после отображения MessageBox фокус переходит к следующей строке / столбцу. Другая проблема заключается в том, что пользователь должен нажать на кнопку ОК в MessageBox, чтобы удалить его с экрана. Можем ли мы сосредоточиться на недопустимом редакторе столбцов, а также на кнопке MessageBox OK - чтобы пользователь мог нажать Enter, чтобы скрыть сообщение и продолжить ввод?

Пожалуйста, проверьте нашу ссылку. http://www.softworksbd.com/swazilandlmis/yyyy_stockdata.php

1 Ответ

3 голосов
/ 20 декабря 2011

Только один элемент может быть сфокусирован, поэтому фокус должен перейти в окно сообщения. AFAIK клавиши ввода / выхода работает из коробки с окном сообщения. Вы можете передать обратный вызов в окно сообщения. В этом обратном вызове вы можете сосредоточить нужную ячейку в сетке. Как это:

Ext.Msg.alert('Title', 'Message.', function(){ 
    this.startEditing(rowIndex, colIndex);
}.createDelegate(grid));

Таким образом, после закрытия окна сообщения фокус снова вернется в редактор.

...