关于数据窗口的3个问题
各位老师,小弟一些问题搞不明白,求解:
1.我想调用字符串的公式,返回结果,找到的方法如下:
string ls_expression
ls_expression = "1+2 "
ls_rtnNum=dw_1.describe( "evaluate( ' " + ls_expression + " ', 1) ")
但是我始终无法理解字符串前的加号是什么意思,为何前面还要有双引号?(请老师解答的详细些)
2.//函数功能:返回计算表达式的值
datastore lds_evaluate
lds_evaluate = create datastore
lds_evaluate.create( 'release 8; ~r~ntable() ')
retVal = lds_evaluate.describe( "evaluate( ' " + thestr + " ',0) ")
destroy lds_evaluate
return retVal
end function
这里lds_evaluate.create( 'release 8; ~r~ntable() ') ,这里create的括号里面麻烦详解一下?
3.LookUpDisplay 在数据窗口控件上显示的值和字段实际得到的值并不相同
什么情况下用户看到的值和真实值会不一样?能否举个例子?
谢谢
[解决办法]
[解决办法]
问题一:describe中的参数是一个字符串,用于得到数据窗口的某个属性或表达式的值,而evaluate是数据窗口对象的内置函数,它有两个参数,参数一为字符串,值为表达式,参数2为数值,用于表示计算的表达式所在行;
可以理解为下面的
ls_exp = "evaluate( ' " + ls_expression + " ', 1) "
ls_rtnNum=dw_1.describe( ls_exp)
问题二:括号里的create是用于生成一个简单语法的数据窗口,create函数的参数为数据窗口的语法,通过后面的语句我们可以知道这个函数可以用于校验或计算指定表达式的值;
问题三:LookUpDisplay用于得到显示值,对于字段,某些编辑风格有显示值与数据值的概念,比如性别tb_sex(c_id,c_name) (01,男)(02,女),如果采用下拉数据窗口之类的编辑风格,设置c_id为数据值,c_name为显示值,则getitem函数得到的就是编号,而我们看到的还是男/女,通过LookUpDisplay函数得到的也是男/女;