powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Изменение текущего значения поля в itemchanged
4 сообщений из 4, страница 1 из 1
Изменение текущего значения поля в itemchanged
    #36214014
polina_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На окошке есть объект dw_1, у dataobject это объекта 3 колонки: col_1, col_2, col_3, у всех них есть возможность редактирования.

Что нужно: Создаем новую строку в dw_1. В поле col_1 вписываем какое-то числовое значение. Кликаем в другое поле (например, col_2) и значение col_1 должно стать col_1 + 1.

В чем возникла проблема: делаю в событии itemchanged вот что:
dw_1.object.col_1[row] = dw_1.object.col_1[row] + 1
и это событие нормально отрабатывает, но после почему-то всё равно подставляется значение col_1.

Что-то я не то делаю. Помогите, плиззз.

Заранее спасибо.
...
Рейтинг: 0 / 0
Изменение текущего значения поля в itemchanged
    #36214083
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Текущее значение находится в строковом параметре события data
Если хотите оставить свое выражение - вынесите его в отдельный event и вызывайте его как post
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Изменение текущего значения поля в itemchanged
    #36214124
polina_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
spas2001, спасибо. Работает :)
...
Рейтинг: 0 / 0
Изменение текущего значения поля в itemchanged
    #36219417
PaulJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как то сталкивался с проблемами POST для вызова событий, особенно если ставить их в очередь.
Они могут выполниться не в той последовательности как хотелось бы ...

Есть еще такой метод (в itemchanged ):

choose case dw.name
case 'col_1'
dw_1.object.col_1[row] = dw_1.object.col_1[row] + 1
return 2
case ...
обработка других колонок/полей
end choose

Вся фишка в RETURN 2, ибо как пишет "коран":

Set the return code to affect the outcome of the event:

0 (Default) Accept the data value
1 Reject the data value and do not allow focus to change
2 Reject the data value but allow the focus to change

CHOOSE CASE - только для наглядности ...

Точно не помню, но возможно еще надо в ItemError для этого случая дописать RETURN 2
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Изменение текущего значения поля в itemchanged
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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