powerbuilder: свяжите выпадающее окно данных с его родительским окном - PullRequest
2 голосов
/ 16 июня 2010

У меня есть окно данных (пусть его имя будет родительским), в котором я отображаю другое окно данных (будем называть его дочерним) в виде выпадающего списка.Родитель принимает два аргумента поиска с именами org_id и pccc_id.Дочерний элемент принимает один аргумент поиска с именем org_id, который должен иметь то же значение, что и родительский org_id.Теперь я хочу связать эти два аргумента поиска.

Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 16 июня 2010

Во-первых, я хотел бы подтвердить, что вы реализуете отношения, используя так называемое выпадающее окно данных (часто называемое dddw)? Dddw очень распространены в PB, поэтому не составит труда найти примеры в онлайн-справке или где-либо еще.

Если вы на самом деле уже делаете это с помощью dddw, то я предполагаю, что dddw представляет столбец в наборе результатов родительского окна данных? В окне вы можете код для извлечения DDW. Вот как это делается во многих приложениях, иногда в событиях инициализации окна или событиях родительского элемента управления datawindow.

Во многих случаях dddw отображает данные таблицы кодов и не требует аргументов, и его свойства можно установить для автоматического восстановления. Если окно данных за dddw требует аргумента, найдите datawindowchild в файлах справки. Вы можете манипулировать dw, лежащим в основе dwdw, когда у вас есть к нему дескриптор. Проверьте файлы справки для метода getChild ().

1 голос
/ 22 июня 2011

В родительском окне .. Событие изменения фокуса элемента для Getcolumname () этого столбца раскрывающегося окна данных ... напишите следующий код ..

integer morderid
DataWindowChild dwc_child

morderid = dw_parent.GetColumnNumber(dw_parent.getrow(),"ord_id")

dw_parent.GetChild("<field name>", dwc_child)
dwc_child.SetTransObject(SQLCA)
dwc_child.Retrieve(morderid)

morderid = dw_parent.GetColumnNumber(dw_parent.getrow(),"ord_id")

Убедитесь, что свойство Auto Retrieve отключено в DropDown.Datawindow.убедитесь, что вы указали аргумент поиска для этого выпадающего окна данных.

...