powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Проблемка с композитным DW
7 сообщений из 7, страница 1 из 1
Проблемка с композитным DW
    #33299815
Фотография Amberit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, уважаемые форумчане!

Помогите, пожалуйста, разобраться в одной проблеме. Имеется композитный DW, состоящий из двух репортов (1 - шапка отчета, 2 - детальные данные). DW имеет Retrieve-аргумент, с помощью которого осуществляется выборка одной строки, и построение по этому аргументу шапки и детальных данных.

С недавнего времени нужно организовать выборку не одной строки, а нескольких. Я это сделал без изменения DW, организовав циклический Retrieve (cхематический пример, без проверок и прочего):

Dec{0} ia_arg[n] //массив Retrieve-аргументов, перед. в DW
//(раньше была просто переменная)
Long ll_count, i=0

this.SetRedraw(false)
ll_count=UpperBound(ia_arg)

do
if ll_count=i then EXIT
i++
this.dw_1.Retrieve(ia_arg )
loop while true

this.SetRedraw(true)

При этом в элементе управления DW для события RetrieveStart поставил RETURN 2.

Этими действиями я хотел добиться накопление выводимых в DW данных, а не их перезапись для нового Retrieve-а. Получается же совсем не так: количество выводимых записей, действительно, равняется размерности массива, но берется как бы последний Retrieve, и умножается на количество записей, т.е. складывается ощущение, что выполняется только Retrieve для последнего элемента массива n-раз.

Буду благодарен, если услышу Ваши ответы и советы по этому поводу.
...
Рейтинг: 0 / 0
Проблемка с композитным DW
    #33299877
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а не проще изменить ретрайв аргумент на массив!?
...
Рейтинг: 0 / 0
Проблемка с композитным DW
    #33299991
Фотография Amberit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не проще. Дело в том, что данный DW уже используется в другой подсистеме именно в таком виде, и не хочется там ничего менять - ведь тогда прийдется вносить изменения при необходимости в два разных места в программе. Да и плодить DW - тоже не выход... ;-)))
...
Рейтинг: 0 / 0
Проблемка с композитным DW
    #33301555
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще всего всего использовать datastore, а строки просто копировать в репорт. А то ,как-бы это помягче сказать, простых путей мы не ищем
...
Рейтинг: 0 / 0
Проблемка с композитным DW
    #33301789
567890
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
this.dw_1.Retrieve(ia_arg)

Передается в dw_1 массив-то, а не скаляр (если корректно прописана эта строка).
Что хватается в этом случае, зависит от реализации. Возможно, как раз -последний элемент массива.

Вообще говоря, надо прислушаться к советам предыдущих "форумчан" и не заниматься извращениями (они хороши совершенно при других обстоятельствах)
...
Рейтинг: 0 / 0
Проблемка с композитным DW
    #33304917
Фотография Amberit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Форумчане - большое спасибо за помощь. Проблемка решилась.

Действительно, Guest, следовало написать this.dw_1.Retrieve(ia_args ) - это моя очепятка здесь - в программе именно так и было указано. Проблема оказалась не в этом - достаточно было убрать вызов функций SetRedraw - и все заработало как нужно (правда почему - все равно не понимаю) ;-)))

Всем спасибо и до скорого! ;-)))

С уважением, Amberit.
...
Рейтинг: 0 / 0
Проблемка с композитным DW
    #33308460
Gosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Amberitдостаточно было убрать вызов функций SetRedraw - и все заработало как нужно (правда почему - все равно не понимаю) ;-)))

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


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