Показать сообщение отдельно
Старый 23.12.2008, 16:22   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от HorrR Посмотреть сообщение
Ситуация такая - есть на форме 2 ДС. Нажимается кнопка. При нажатии отрабатывается метод того ДС, на котором последним был остановлен фокус.

Для данной цели Active на DataSourcе не подходит, так как, если рекорд уже был выбран, при переходе на другой датасоурс и возврате на ЭТОТ ЖЕ рекорд, ничего не произойдет, ибо новая запись на данном дейтасоурсе не была выбрана.

И если, допустим, в случае грида можно просто перегрузить gotFocus, то как быть с отдельными контролами, разбросанными по group?. Неужели перегружать gotFocus на каждом из них?
Неоднозначная имхо постановка вопроса.
Если вы подразумеваете под "на котором последним был остановлен фокус" - тот, на который последний раз тыркнул пользователь - то да, придётся на все контролы вешать, иначе не знаю как. Естественно не на каждый стринг-эдит, а более оптимально - на группы

При этом с gotFocus вы явно намучаетесь, т.к. его срабатываение - вещь не тривиальная - например при открыти формы он не отработает на вашем первом гриде, как наверное хотелось бы.
__________________
Zhirenkov Vitaly