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

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

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

Так что совет один - убирайте Update из LoseFocus - все равно рано или поздно это сделать прийдется... ;-)))
...
Рейтинг: 0 / 0
02.07.2005, 11:45
    #33146270
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно обойти в DataWindow событие LoseFocus(), исп
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
04.07.2005, 09:27
    #33147226
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно обойти в DataWindow событие LoseFocus(), исп
Оно, конечно, может и глупость, но как удовлетворить совершенно справедливое требование пользователя о необходимости принудительного сохранения данных при окончании работы с конкретным ДВ, например, при переходе на другое ДВ в этом же окне?
...
Рейтинг: 0 / 0
04.07.2005, 10:24
    #33147337
gal20
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как корректно обойти в DataWindow событие LoseFocus(), исп
urvasОно, конечно, может и глупость, но как удовлетворить совершенно справедливое требование пользователя о необходимости принудительного сохранения данных при окончании работы с конкретным ДВ, например, при переходе на другое ДВ в этом же окне?

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


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