Гость
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / dddw - change row / 15 сообщений из 15, страница 1 из 1
05.04.2020, 12:32
    #39944086
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Как отловить изменение строки в dddw, если значение не изменилось?

Объясняю. Имеется dddw. В нем DisplayColumn - имя, DataColumn - фамилия человека.
В "выпадающем" dddw отображены и имя и фамилия.
Проблема в том, что если был выбран Петя Иванов, а теперь мы выбираем Васю Иванова, то itemchange не срабатывает, т.к. значение в DataColumn не изменилось.

pbm_dwclosedropdown - не срабатывает.

Как отловить, что произошло изменение?
...
Рейтинг: 0 / 0
05.04.2020, 13:35
    #39944094
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Сделайте data column ID, а фамилию ищите через GetChild.find()...
...
Рейтинг: 0 / 0
05.04.2020, 14:32
    #39944102
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Локшин Марк,
ID нельзя. Это номер. Нужно показывать фамилию.
...
Рейтинг: 0 / 0
05.04.2020, 15:01
    #39944107
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Плохо объяснил. Пытался упростить задачу. Получился не тот случай.
Было обычное DW (DataObject - select из базы) со множеством полей.
Нужно все эти поля превратить в dddw. Нельзя в фамилию вставить DataColumn = ID.
Но отловить изменение в dddw нужно.
...
Рейтинг: 0 / 0
05.04.2020, 15:34
    #39944112
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
pbm_dwclosedropdown не срабатывает.
Как в other проверить, был ли закрыт ddddw?
...
Рейтинг: 0 / 0
05.04.2020, 20:41
    #39944145
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Riska
Плохо объяснил. Пытался упростить задачу. Получился не тот случай.
Было обычное DW (DataObject - select из базы) со множеством полей.
Нужно все эти поля превратить в dddw. Нельзя в фамилию вставить DataColumn = ID.
Но отловить изменение в dddw нужно.

Почему нельзя вместо фамилии в DataColumn записать ID? DataColumn нигде не выводится, очевидно оно нужно где-то в скрипте. В выборке основного окна также вместо фамилии отбирать ID.
...
Рейтинг: 0 / 0
05.04.2020, 22:10
    #39944155
AIS
AIS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Riska,
в выпадающем списке рядом с повторяющимися фамилиями есть ID. Сохраняйте его в событии itemchanging и используйте в скрипте далее.
...
Рейтинг: 0 / 0
06.04.2020, 12:09
    #39944224
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
itemchanging не происходит, т.к. меняем Иванова на Иванова - РВ думает, что ничего не меняется.
Почему нельзя вместо фамилии в DataColumn записать ID - потому что это DW потом нужно сохранить (сделать Update)
Кроме того, что будет возвращать GetItem из этого поля?
...
Рейтинг: 0 / 0
06.04.2020, 14:07
    #39944261
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Слушайте, сделайте вызов функции или события в ItemChanged только через Post и анализируйте, что вам хочется
А в itemChanged придется забирать data и смотреть, что же все-таки поменяли.
Скорее всего это будет плохо работать, если не будете слушать что вам посоветовали))
Я в аналогичной ситуации просто показывал dw (не child), а координаты подгонял так что выглядело как выпадающий список.
Если все-таки вам надо сделать именно так как вы написали, то сделайте компьют с полным ФИО, на него повесьте список, а заполнять отдельные поля будете в itemchanged.
...
Рейтинг: 0 / 0
06.04.2020, 15:07
    #39944281
Raven A
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Riska, сделайте фамилию уникальной
Код: vbnet
1.
2.
group 1: comp_code_original
compute: comp_code if(  isNull( comp_code_original ), '', comp_code_original  )+ fill(char(160),cumulativeSum( 1 for group 1 ))



Char(160) невидимый, но знаковый
...
Рейтинг: 0 / 0
06.04.2020, 17:29
    #39944323
Riska
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Слушайте, сделайте вызов функции или события в ItemChanged только через Post...
Ничего не понял.
Как я в ItemChanged попадаю?
...
Рейтинг: 0 / 0
07.04.2020, 16:01
    #39944583
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Как написали - делая поле уникальным или используя компьют-поле с DDW где значение ФИО, а не только фамилия
...
Рейтинг: 0 / 0
07.04.2020, 16:02
    #39944584
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Отображать можно только фамилию, но DataValue - ФИО
...
Рейтинг: 0 / 0
20.04.2020, 17:34
    #39949051
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
spas2001,
DisplayValue HAS to be unique...
...
Рейтинг: 0 / 0
21.04.2020, 16:06
    #39949429
spas2001
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dddw - change row
Филипп, я и не спорю, именно в этом вся проблема
При несоблюдении - просто не меняется значение, сам уже сталкивался
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / dddw - change row / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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