Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как вытащить значение из Child Datawindow? / 9 сообщений из 9, страница 1 из 1
01.08.2008, 11:41
    #35465146
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
Есть Datawindow (dw_5), в нем есть чайлд dw_1, в нем есть Compute_1

делаю так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
DataWindowChild dwc_p1
double s1

dw_5.getchild("dw_1", dwc_p1)
dwc_p1.settransObject(sqlca)
dwc_p1.retrieve(par1,par2)
//отработывает нормально в compute_1 сейчас значение  1234 
s1=double(dwc_p1.Describe("compute_1.expression"))

messagebox('result',string(s1))
в итоге s1=0

где ошибка?
...
Рейтинг: 0 / 0
01.08.2008, 11:49
    #35465169
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
Код: plaintext
1.
ll_row = 
ls_res = dw_1.Describe("Evaluate('compute_1', "+ String(ll_row)+")")
...
Рейтинг: 0 / 0
01.08.2008, 11:56
    #35465193
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
Anatoly Moskovsky
Код: plaintext
1.
ll_row = 
ls_res = dw_1.Describe("Evaluate('compute_1', "+ String(ll_row)+")")

если чесно то не совсем понятно:
1) что за переменная ll_row?
2) обращение к dw_1 или все же к dwc_p1?
...
Рейтинг: 0 / 0
01.08.2008, 11:57
    #35465199
urvas
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
Evaluating DataWindow expressions in the Describe function

The Describe function provides a way to evaluate DataWindow expressions outside their usual context. The Evaluate function, which is used only within Describe, allows you to evaluate DataWindow expressions within a script using data in the DataWindow.

Evaluate has the following syntax:

dwcontrol .Describe ("Evaluate ( 'expression' , rownumber ) " )

Expression is the expression you want to evaluate and rownumber is the number of the row for which you want to evaluate the expression. The expression can include DataWindow expression functions that cannot be called in a script.
This example displays in the title of the DataWindow control the current page for the current row in the DataWindow:

string ls_modstring, ls_rownum

ls_rownum = String(dw_1.GetRow())



ls_modstring = "Evaluate('Page()'," + ls_rownum +")"

// The resulting string, for row 99, would be:

// Evaluate('Page()', 99)



Parent.Title = &

"Current page: "+ dw_1.Describe(ls_modstring)

This example returns the display value for the dept_id column for row 5:

dw_1.Describe("Evaluate('LookUpDisplay(dept_id)', 5)")

Expressions that apply to all rows

To evaluate an expression that applies to all rows, specify 0 for the rownumber argument. This example calculates the sum of the salary column in the current DataWindow. It will return the expression's result or "!" if the expression is not valid:

dw_1.Describe("Evaluate('Sum(Salary)', 0)")

Evaluating user-specified expressions

In some types of applications, you might use Evaluate to get the result of an expression the user specifies. For example, users might specify the type of aggregation they want to see. This example evaluates an expression specified in a SingleLineEdit. It applies to all rows:

dw_1.Describe("Evaluate('" + sle_expr.Text + "', 0)")
...
Рейтинг: 0 / 0
01.08.2008, 12:15
    #35465252
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
а теперь он ругается что "Undefined variable compute_2"
...
Рейтинг: 0 / 0
01.08.2008, 12:16
    #35465256
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
в смысле compute_1
...
Рейтинг: 0 / 0
01.08.2008, 12:53
    #35465394
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
ничего не получается :(
...
Рейтинг: 0 / 0
01.08.2008, 13:15
    #35465480
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
ImperousЕсть Datawindow (dw_5), в нем есть чайлд dw_1, в нем есть Compute_1

делаю так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
DataWindowChild dwc_p1
double s1

dw_5.getchild("dw_1", dwc_p1)
dwc_p1.settransObject(sqlca)
dwc_p1.retrieve(par1,par2)
//отработывает нормально в compute_1 сейчас значение  1234 
s1=double(dwc_p1.Describe("compute_1.expression"))

messagebox('result',string(s1))
в итоге s1=0

где ошибка?
Чё вы все мудрите-то? compute_1 - число? Если да, то
Код: plaintext
MessageBox("",dwс_p1.GetItemNumber( 1 ,"compute_1"))
А не работает потому, что чушь написана. Значение - оно к строке привязано - в частности 1234 находится в какой-то строке (в первой???). А то, что написано - получает строку - выражение которое задано для compute_1.
...
Рейтинг: 0 / 0
01.08.2008, 14:42
    #35465744
Imperous
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как вытащить значение из Child Datawindow?
Локшин Марк
Чё вы все мудрите-то? compute_1 - число? Если да, то
Код: plaintext
MessageBox("",dwс_p1.GetItemNumber( 1 ,"compute_1"))
А не работает потому, что чушь написана. Значение - оно к строке привязано - в частности 1234 находится в какой-то строке (в первой???). А то, что написано - получает строку - выражение которое задано для compute_1.
Вот где правда была, спасибо, оно!
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как вытащить значение из Child Datawindow? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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