PB日志-数据窗口控件函数125.SetItem()

 

函数作用:给指定的数据窗口或者Datastore中的、指定单元设置数据,通过行和列来确定哪个单元。该函数直接修改缓冲区中的数据,而不是针对显示界面进行修改,修改成功之后,数据窗口控件上会自动反映出最新的内容来。而函数SetText则针对显示界面进行修改,如果能够通过字段的校验规则,才能够进入到数据窗口对应的缓冲区中。注意这两个函数的区别。
函数语法:integer dwcontrol.SetItem ( long row, integer column, any value )
integer dwcontrol.SetItem ( long row, string column, any value )
dwcontrol:要设置数据的数据窗口控件、DataStore或者子数据窗口的名称。
row:要设置数据的行,为long类型。
column:要设置数据的列,可以是string类型的列名称,也可以是integer类型的列号。
lvalue:要设置的数据。类型根据数据列而定,两者的数据类型应该保持一致。
返 回 值:integer类型,1表示函数执行成功,-1表示函数执行失败。如果有任意一个参数为Null,则函数返回Null。
代码实例
例子1,下面脚本在第一行的hire_date列中设置数据:
dw_order.SetItem(1, "hire_date", 1993-06-07)
例子2,当用户在数值类型的字段中输入内容,然后又删除后要离开该单元时,数据窗口尝试着将‘’赋值给该单元,这时会导致内容不能通过校验规则而产生错误。解决的办法就是在数据窗口控件的ItemError事件中编写下面的脚本:
integer li_Null
String ls_type

ls_type = This.Describe(dwo.name + '.ColType')
ls_type = Left(Lower(Trim(ls_type)),3)

choose case ls_type
case 'dec','int','lon','num','rea','ulo'
This.SetItem(Row,integer(dwo.ID),li_Null)
end choose

return 2


欢迎转载,但请保留出处,本文章转自[华软源码],原文链接:http://www.hur.cn/Article/2011/39607.html

你可能感兴趣的:(PowerBuilder)