POST setitem не устанавливает значение в окне данных - PullRequest
0 голосов
/ 24 августа 2018

У меня есть окно ответа, w_response.Внутри этого у меня есть окно данных dw_1, в котором я хочу проверить введенные данные.Существует столбец c_1.

Когда пользователь вводит неправильные данные в c_1 и выходит из него, окно поиска w_2 открывается с помощью кнопки OK, и выбор пользователя будет установлен в c_1, как только пользователь нажмет кнопку OK.Это происходит правильно, пока мы выполняем табулирование (Используется POST setitem).

Вместо этого пользователь редактирует значение (неверные данные) в c_1 и сразу же нажимает кнопку ОК в w_response.

Это вызывает окно поиска w_2, и, хотя пользователь выбрал правильное значение и нажал кнопку ОК, в c_1 (которое вводится пользователем) установлено неправильное значение.Похоже, POST setitem не происходит должным образом.

Есть идеи, почему это происходит?

Ответы [ 2 ]

0 голосов
/ 01 сентября 2018

Почему вы это.Почему не только этот.Помните, что любой вызов POST не будет выполнен до тех пор, пока не будет завершен весь другой выполняющийся в данный момент код или пока не будет вызван вызов Yield ().Похоже, что когда вы сразу нажимаете OK, ue_ok вызывает accepttext, который затем запрашивает правильные данные и вызывает POST setitem, но поскольку код ue_ok уже запущен, он должен завершиться, прежде чем вызов POSTed сможет выполняться.Попробуйте удалить слово POST из вызова или добавить Yield () после accepttext.

0 голосов
/ 24 августа 2018

Вы запускаете AcceptText на dw_1 в любом месте вашего окна?Это событие специально разработано для случаев, когда элемент управления datawindow теряет фокус (по нажатию на кнопку OK из вашего примера).Справка PB содержит более подробную информацию по этому вопросу (тема AcceptText метод ).

...