powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как корректно обойти в DataWindow событие LoseFocus(), исп
6 сообщений из 6, страница 1 из 1
Как корректно обойти в DataWindow событие LoseFocus(), исп
    #33146047
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ользуя PB 10?
Речь идет о том, что необходимо в сценарии какого-то события ДВ вызвать messagebox или окно типа responce (но ещё не все необходимые поля заполнены), но они вызывают LoseFocus, а там стоит вызов Update.
...
Рейтинг: 0 / 0
Как корректно обойти в DataWindow событие LoseFocus(), исп
    #33146107
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, НИКАК.
Во-вторых, вызов Update в LoseFocus есть абсолютная и необсуждаемая глупость .
...
Рейтинг: 0 / 0
Как корректно обойти в DataWindow событие LoseFocus(), исп
    #33146109
Фотография Amberit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемый однофорумчанин!

А почему бы Вам не использовать Validation Expression's ДатаВиндовса? Ведь они для таких целей и разрабатывались... Правда, LoseFocus и в этом случае сработает... ;-)))

Да и вешать Update на событие LoseFocus... Ведь если пользователь вдруг вздумает совместно с работой в Вашем приложении поиграть в пасьянс, что будет? Правильно - ненужный Update... А если еще этот запрос будет идти на удаленный сервер - вот Вам и ненужный трафик... А если еще и не предусмотреть корректную обработку такого Update - вот Вам и ошибки в базе данных... ;-)))

Так что совет один - убирайте Update из LoseFocus - все равно рано или поздно это сделать прийдется... ;-)))
...
Рейтинг: 0 / 0
Как корректно обойти в DataWindow событие LoseFocus(), исп
    #33146270
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urvasользуя PB 10?
Речь идет о том, что необходимо в сценарии какого-то события ДВ вызвать messagebox или окно типа responce (но ещё не все необходимые поля заполнены), но они вызывают LoseFocus, а там стоит вызов Update.
1. Заводим instance переменную long il_check_input = 1
2. На LoseFocus пишем что-то типа
Код: plaintext
1.
if il_check_input =  0  then return
...
3. При вызове окна
Код: plaintext
1.
2.
il_check_input =  0 
open(w_responce_window)
il_check_input =  1 

Только действительно, все это выглядит достаточно глупо, так как фокус может теряться по очень многим причинам...
...
Рейтинг: 0 / 0
Как корректно обойти в DataWindow событие LoseFocus(), исп
    #33147226
Фотография urvas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оно, конечно, может и глупость, но как удовлетворить совершенно справедливое требование пользователя о необходимости принудительного сохранения данных при окончании работы с конкретным ДВ, например, при переходе на другое ДВ в этом же окне?
...
Рейтинг: 0 / 0
Как корректно обойти в DataWindow событие LoseFocus(), исп
    #33147337
gal20
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
urvasОно, конечно, может и глупость, но как удовлетворить совершенно справедливое требование пользователя о необходимости принудительного сохранения данных при окончании работы с конкретным ДВ, например, при переходе на другое ДВ в этом же окне?

Так вызывать Update надо, когда действительно есть переход в другое DW , а не потеря фокуса первым DW
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как корректно обойти в DataWindow событие LoseFocus(), исп
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]