Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
General
Зарегистрирован: 29.01.2008 Сообщения: 36
|
Добавлено: Чт Мар 25, 2010 12:20 pm Заголовок сообщения: Дважды срабатывает выбор объекта учета в FrmScrollGrid |
|
|
Второй раз в практике столкнулся с такой проблемой. Некоторые пользователю по каким-то своим внутренним соображениям после набора части наименования объекта в FrmScrollGrid (DataSource = ...EntBind) нажимают не Enter, не пробел, а кнопку выбора объекта в этой же ячейке. В результате пользователь получает дважды окно выбора объекта (сначала с поиском похожих, а потом просто из справочника), а программист получает двойное срабатывание OnBound. Причем второй срабатывание OnBound работает неправильно: .BindRow при это оказывается равным 0, а в справочнике объектов учета курсор по умолчанию установлен на объект учета из предыдущей строки (в общем как-будто пользователь не выбирал при первом срабатывании объект). Такое ощущение что первое срабатывание не отрабатывает до конца и начинается второе.
Можно ли это как то обойти или исправить? Пользователю конечно можно объяснить что так делать нельзя, но вот в последний раз я над этой проблемой бился два дня: в форме много контролек всяких и прочих функций, а пользователь недоговаривал... Пока случайно не выяснилось что он так делает, я сидел и перебирал все возможные варианты действий пользователя, которые могли бы привести к задваиванию строк в таблице. |
|
Вернуться к началу |
|
|
olimp Site Admin
Зарегистрирован: 10.03.2005 Сообщения: 2661
|
Добавлено: Пт Мар 26, 2010 10:33 am Заголовок сообщения: Re: Дважды срабатывает выбор объекта учета в FrmScrollGrid |
|
|
General писал(а): | Второй раз в практике столкнулся с такой проблемой. Некоторые пользователю по каким-то своим внутренним соображениям после набора части наименования объекта в FrmScrollGrid (DataSource = ...EntBind) нажимают не Enter, не пробел, а кнопку выбора объекта в этой же ячейке. |
Сталкивался еще в 6.0. Будет или нет сделано в 7.4 - это к Alex.
Обойти - проверять в обработчике установку BindRow. |
|
Вернуться к началу |
|
|
alex
Зарегистрирован: 18.02.2008 Сообщения: 253
|
Добавлено: Вс Мар 28, 2010 10:18 am Заголовок сообщения: |
|
|
BindRow = 0 второй раз именно для этого и устанавливается. |
|
Вернуться к началу |
|
|
General
Зарегистрирован: 29.01.2008 Сообщения: 36
|
Добавлено: Вт Мар 30, 2010 2:02 pm Заголовок сообщения: |
|
|
Понял. Спасибо. |
|
Вернуться к началу |
|
|
General
Зарегистрирован: 29.01.2008 Сообщения: 36
|
Добавлено: Вт Мар 30, 2010 2:47 pm Заголовок сообщения: |
|
|
Но проверка BindRow все-равно не решает проблемы повторения пользователем предыдущей строки потому как они неглядя второй раз OK нажимают. Нельзя ли сделать чтоб хотя бы, когда выскакивает второй выбор, курсор устанавливался на объект выбранный при первом выборе? |
|
Вернуться к началу |
|
|
|