hur.cn - 华软网

 热门搜索

如何取得数据窗口中下拉数据窗口的显示值

  作者:未知    来源:网络    更新时间:2018/4/16
请问如何取得数据窗口中下拉数据窗口的显示值?
我用了
str=dw_2.Describe ( "Evaluate('LookupDisplay(column_name)',il_row)" )语句
但dw_1.setItem(il_row,"column_name",str)时,在dw_1显示的是叹号!
请问怎么才能得到显示值,且赋给dw_1时能正确显示?

------华软网友回答------
你的思路是正确的,但是写法上错误了。
应该这么写才对:
str=dw_2.Describe("Evaluate('LookupDisplay(column_name)',"+il_row+")" )
你试试吧!
------华软网友回复------

PB中的Describe,Evaluatate,LookUpDisplay小结

Describe 可以描述DW中某个对象的某个属性的取值,虽然函数Describe可以获取对象的信
息,但是表达式的取值就不能正常读取了,而这又是经常遇到的.
Evaluate 如果想获取数据窗口对象中由属性、函数等构成的表达式的取值时,必须在函数Describe中
使用函数Evaluate,
LookUpDisplay  在数据窗口控件上显示的值和字段实际得到的值并不相同,使用函数GetItemX只能读
取这样的字段的真实取值,而不是用户看到的值。如何才能读取用户看到的值?可以使用此函数,
LookUpDisplay函数不能直接从PowerScript调用,可以在Describe中和Evaluate函数配合使用。因为
函数Lookupdisplay不能指定对哪行数据进行操作,它的参数只有一个字段名称,所以必须和Evaluate函
数配合使用。该函数的语法是:Lookupdisplay(columnname)参数columnname是字段的名称,而不是一个
字符串。函数执行错误则返回空字符串。


例一:

ls_1 = dw_1.Describe("dw_1.cb_4.text")
ls_2 = This.Describe(dwo.name + ".ColType")
语法: value = datawindow.Describe(string ls)

例二:

判断第3行的sex是否为1,如果是则返回男,否则返回女
dw_1.Describe("Evaluate('If(sex = 1, 男, 女) ', 3)")

语法: Evalute('expression',rowno)
其中,expression是属性表达式,rowno是要描述的行号。该函数放置在Describe的属性列表中。

例三:
dw_1.Describe("Evaluate('Lookupdisplay(column)'," + string (row number) + ")")

在dw_1 里面有一个gxbm字段的edit属性页下面:dataWindow:d_dmzd_gxbm,Display Column:dmmc,data Column:gxbm.
在显示时:不是显示gxbm的值,而是显示dmmc的值,但我们用getitemstring(row,"gxbm")时,得到的是gxbm的值,而不是
显示的dmmc值,如果我们想得到显示的dmmc值,那就用lookupdisplay来用:
ls_1 = dw_1.describe( "Evaluate('lookupdisplay(gxbm)'," + string(1) + ")")


------华软网友回复------
正确,只是写错了。      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。