powered by simpleCommunicator - 2.0.27     © 2024 Programmizd 02
Map
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / dddw - change row
15 сообщений из 15, страница 1 из 1
dddw - change row
    #39944086
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как отловить изменение строки в dddw, если значение не изменилось?

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

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

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

Почему нельзя вместо фамилии в DataColumn записать ID? DataColumn нигде не выводится, очевидно оно нужно где-то в скрипте. В выборке основного окна также вместо фамилии отбирать ID.
...
Рейтинг: 0 / 0
dddw - change row
    #39944155
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Riska,
в выпадающем списке рядом с повторяющимися фамилиями есть ID. Сохраняйте его в событии itemchanging и используйте в скрипте далее.
...
Рейтинг: 0 / 0
dddw - change row
    #39944224
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
itemchanging не происходит, т.к. меняем Иванова на Иванова - РВ думает, что ничего не меняется.
Почему нельзя вместо фамилии в DataColumn записать ID - потому что это DW потом нужно сохранить (сделать Update)
Кроме того, что будет возвращать GetItem из этого поля?
...
Рейтинг: 0 / 0
dddw - change row
    #39944261
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушайте, сделайте вызов функции или события в ItemChanged только через Post и анализируйте, что вам хочется
А в itemChanged придется забирать data и смотреть, что же все-таки поменяли.
Скорее всего это будет плохо работать, если не будете слушать что вам посоветовали))
Я в аналогичной ситуации просто показывал dw (не child), а координаты подгонял так что выглядело как выпадающий список.
Если все-таки вам надо сделать именно так как вы написали, то сделайте компьют с полным ФИО, на него повесьте список, а заполнять отдельные поля будете в itemchanged.
...
Рейтинг: 0 / 0
dddw - change row
    #39944281
Фотография Raven A
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
dddw - change row
    #39944323
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушайте, сделайте вызов функции или события в ItemChanged только через Post...
Ничего не понял.
Как я в ItemChanged попадаю?
...
Рейтинг: 0 / 0
dddw - change row
    #39944583
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как написали - делая поле уникальным или используя компьют-поле с DDW где значение ФИО, а не только фамилия
...
Рейтинг: 0 / 0
dddw - change row
    #39944584
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отображать можно только фамилию, но DataValue - ФИО
...
Рейтинг: 0 / 0
dddw - change row
    #39949051
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spas2001,
DisplayValue HAS to be unique...
...
Рейтинг: 0 / 0
dddw - change row
    #39949429
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Филипп, я и не спорю, именно в этом вся проблема
При несоблюдении - просто не меняется значение, сам уже сталкивался
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / dddw - change row
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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