powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Fil'ter
18 сообщений из 43, страница 2 из 2
Fil'ter
    #33817248
Павлушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Estets
Еще раз pls. Есть список покупателей, он правится руками. Есть список заказов, в нем есть DDDW покупателей. Не обнавляется DDDW когда вносится новый покупатель или что?
Нет список покупателей это заполняемая таблица, так же как и продажи, и этот список покупателей выпадает в таблице продаж. А когда я ввожу нового покупаетля в список покупателей, в таблице продаж остается старый список и новый покупатель не заносится, а таблица покупателей обновляется(см. первый скрин)
...
Рейтинг: 0 / 0
Fil'ter
    #33817286
Павлушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
voronkда неee, не надо картинки.

давай так, ты меня поправь если я чё не так понял:
есть два окна, у каждого свой retrieve().
первое можно менять (update), второе нет.

после того как ты что-то изменил в первом и успешно сохранил изменения в базу данных, второе окно остаётса без изменений.

если я тебя правильно понял, то там где написано:
первое_датавиндоу.Update(), ты должен добавить/подправить:

int i_rc
i_rc = первое_датавиндоу.Update()

if i_rc = 1 THEN
второе_датавиндоу.Retrieve()
end if
вообще оба datawindow (Покупатели и Продажи) находятся в разных окнах, а вторую таблицу (Покупатели) я занес для наглядности. Обе таблицы связаны и в обоих таблицах retrieve и update проходит успешно, но когда в таблице Покупателей я ввожу одного покупателя делаю update, retrieve в таблице Продаж в выпадающем списке новых покупателей не наблюдается.
...
Рейтинг: 0 / 0
Fil'ter
    #33817302
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Комрад, что бы новый покупатель появился в твоём дропдаундатавиндоу, после того как ты добавил покупателя и ударил save, тебе нужно сделать dddw.Retrieve()
...
Рейтинг: 0 / 0
Fil'ter
    #33817323
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Павлушка Estets
Еще раз pls. Есть список покупателей, он правится руками. Есть список заказов, в нем есть DDDW покупателей. Не обнавляется DDDW когда вносится новый покупатель или что?
Нет список покупателей это заполняемая таблица, так же как и продажи, и этот список покупателей выпадает в таблице продаж. А когда я ввожу нового покупаетля в список покупателей, в таблице продаж остается старый список и новый покупатель не заносится, а таблица покупателей обновляется(см. первый скрин)
Тогда

1) поставить у DDDW свойство AutoRetrieve=Yes (Whether the DropDownDataWindow data is retrieved when the parent DataWindow data is retrieved. Values are:Yes — (Default) Data is automatically retrieved.No — Data must be retrieved separately.) и ретривить весь список продаж при изменении списка покупателей

2) Ретривить DDDW отдельно

Код: plaintext
1.
2.
3.
4.
5.
  datawindowchild dwc

  If this.GetChild('qwerty_dddw', dwc) =  1  Then
    dwc.Retrieve()
  End IF
...
Рейтинг: 0 / 0
Fil'ter
    #33817391
Павлушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня не работает и код написал и autoretrive галочка стоит, хотя если логически помыслить, то должно. Может проблема в том, что он не сохраняет вызов данных в самой базе покупателей (рис 2 там их больше 3х должно быть), когда закрываю окно run. В таблицах SQL Server все обновляется.
Или можно как-нибудь по другому обратится к datawindow child?
...
Рейтинг: 0 / 0
Fil'ter
    #33817509
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПавлушкаУ меня не работает и код написал и autoretrive галочка стоит, хотя если логически помыслить, то должно. Может проблема в том, что он не сохраняет вызов данных в самой базе покупателей (рис 2 там их больше 3х должно быть), когда закрываю окно run. В таблицах SQL Server все обновляется.
Или можно как-нибудь по другому обратится к datawindow child?
По порядку вы внесли новую запись в список покупателей, перешли в окно с заказами:

1) Обновились ли данные в базе?
2) Читали ли вы help на тему AcceptText(), Update()
3) Что вернул i_ret = dw_1.GetChild('qwerty_dddw', dwc)
4) Что вернул i_ret = dwc.Retrieve()
5) Что у вас с транзакциями
...
Рейтинг: 0 / 0
Fil'ter
    #33817516
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гм... Меня терзают смутные сомненья.

Попробуй следующее:
1. Заходишь в DataWindow painter, открываешь вкладку Data и удаляешь из нее все записи.
2. Сохраняешь DataWindow
3. Проверяешь работоспособность

Может быть поможет :-)
...
Рейтинг: 0 / 0
Fil'ter
    #33817615
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dw_1.GetChild('my_column_name', dwc)
dwc.SetTransObject (твой транс_обжект??) //где у тебя ета линия она правда не обязательна если у dddw нет аргументов?
dwc.Retrieve(аргумент???)
...
Рейтинг: 0 / 0
Fil'ter
    #33818132
Павлушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
voronkdw_1.GetChild('my_column_name', dwc)
dwc.SetTransObject (твой транс_обжект??) //где у тебя ета линия она правда не обязательна если у dddw нет аргументов?
dwc.Retrieve(аргумент???)
Вот это работает. Большое Спасибо!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Fil'ter
    #36474943
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не побоюсь поднять тему из небытия...

rhs
Код: plaintext
1.
2.
3.
4.
string ls
ls= dw_1.describe( 'evaluate( "min( remaining_hours)", 1)')
dw_1.setfilter( 'remaining_hours= '+ ls)
dw_1.filter()



и побоюсь, но задам откровенно казалось бы простенький вопрос. Есть ПБ9. Есть хелп. Но ни разу не могу найти описание функции evaluate. Откуда народ берет описание функции и параметров, подставляемых в нее?
Откуда возник вопрос... По наитию писАл так:
rhs
Код: plaintext
1.
ls= dw_1.describe( 'evaluate( "min( remaining_hours)")')

но безрезультатно...
Что еще за ", 1" взялся в вызове??
А лучше - подскажите, где посмотреть/почитать более глубоко про describe и evaluate?
...
Рейтинг: 0 / 0
Fil'ter
    #36475092
Shtuckenshnuder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Evaluating an expression Describe's Evaluate function allows you to evaluate DataWindow painter expressions within a script using data in the DataWindow. Evaluate has the following syntax, which you specify for propertylist.

Evaluate ( 'expression', rownumber )

Это чудо находится в Describe PowerScript function
...
Рейтинг: 0 / 0
Fil'ter
    #36475208
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtuckenshnuderEvaluating an expression Describe's Evaluate function allows you to evaluate DataWindow painter expressions within a script using data in the DataWindow. Evaluate has the following syntax, which you specify for propertylist.

Evaluate ( 'expression', rownumber )

Это чудо находится в Describe PowerScript function

Нету такого чуда в моем ПБ Sybase PowerBuilder Enterprise 9.0.3.
В связи с представленным синтаксисом возникает вопрос - если я хочу посчитать максимум по колонке. Почему должен писАть номер строки (rownumber) = 1??
...
Рейтинг: 0 / 0
Fil'ter
    #36475243
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... а может и не 1??

Народ, подскажите пож...

А лучше бы конечно на будущее, если у кого-то есть дока на тему evaluate и describe более продвинутая чем в хелпе - скиньте ссылочку, название, чего-нибудь...
...
Рейтинг: 0 / 0
Fil'ter
    #36475338
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что там не понятно:
Evaluate ( 'expression', rownumber )

expression - это любое выражение, допустимое для compute в DW.
rownumber - это номер строки из которой берутся данные.

Если выражение константное (не зависит от столбцов) или является агрегатной ф-ей с селектором for all, то можно указывать любую строку. Насколько я помню строка должна существовать. А может это от версии PB зависит. Вобщем 1-я строка обычно существует, вот ее обычно и указывают :).

Если выражение зависит от столбцов или групп, то номер строки задает контекст из которого берутся значения столбцов или агрегатных ф-й для групп.
...
Рейтинг: 0 / 0
Fil'ter
    #36475364
Shtuckenshnuder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да. Это в PB6
В 9 есть тоже и называется "Evaluating a row".
А найти можно в разделе "Evaluating expressions in the Describe function", там где написано "See also"
...
Рейтинг: 0 / 0
Fil'ter
    #36475577
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShtuckenshnuderДа. Это в PB6
В 9 есть тоже и называется "Evaluating a row".
А найти можно в разделе "Evaluating expressions in the Describe function", там где написано "See also"
За это спасибо конечно. Хоть Anatoly Moskovsky все указал. Да и видел я это. Просто в доке таки написано - "Evaluating a row". А мне-то таки нужно было фактически "Evaluating column"!! Вот и попутал тшьерт... Думал есть разница :) Логически то не понятно что пихать в поле с номером строки, если операция над колонкой...

А вообще - странно, про такой мощный инструмент как describe и evaluate ИМХО можно было бы отдельную главу написать - с описанием и хотя бы общими простейшими примерами... Вот и подумал - вдруг у кого есть :)
...
Рейтинг: 0 / 0
Fil'ter
    #36475580
Vadim Romanenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovsky,

Кстати, а где можно почитать про тот же for all?? И другие варианты использования? Или Вы как-то используете DWSynt? Или просто опыт? :)
...
Рейтинг: 0 / 0
Fil'ter
    #36475747
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim RomanenkoAnatoly Moskovsky,

Кстати, а где можно почитать про тот же for all?? И другие варианты использования? Или Вы как-то используете DWSynt? Или просто опыт? :)

Создайте мастером любое ДВ с промежуточными и общими итогами, потом посмотрите на выражения в сгенеренных вычисляемых полях с итогами и все поймете :)
...
Рейтинг: 0 / 0
18 сообщений из 43, страница 2 из 2
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Fil'ter
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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