这段pb代码代表什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/23 02:07:06
string ls_standard,ls_departcode,ls_empname,ls_jobno
long ll_row,ll_rc

if row<1 or rowcount()<1 then return
data=trim(data)

choose case dwo.name

case 'objuser'
SELECT department,empname,jobno into :ls_departcode,:ls_empname,:ls_jobno
FROM k_employee WHERE empno=:data;
object.departcode[row] = ls_departcode
object.username[row] = ls_empname
// object.jobno[row] = ls_jobno
case 'seqno'

select descr1 into :ls_standard from k_jobfunction where indexno = :data;
object.standard[row] = ls_standard
case 'jobno'
SetItem(GetRow(),'objuser','')
SetItem(GetRow(),'username','')
SetItem(GetRow(),'seqno','')
SetItem(GetRow(),'graddescr','')

///////////////////////////////
Datawindowchild ldwc_data
ll_row = dw_1.GetRow()
ll_rc = GetChild (&#

晕,我不知道怎么给你说,你全部都看不懂的话建议你看看书什么的,这个就是当你的'objuser''seqno''jobno'这3个字段的值发生变化时,执行的事件

我介绍几个:SetItem(GetRow(),'objuser','')是赋值objuser这个字段当前的行的值为''

Datawindowchild ldwc_data
ll_row = dw_1.GetRow()
ll_rc = GetChild ('objuser', ldwc_data)
ldwc_data.SetFilter("jobno = '"+data+"'")
ldwc_data.Filter()
这是一个查询,条件是jobno = 'jobno的当前的一个值'

dwo.name一般是用在数据窗口上的,最常见的是在clicked和itemchanged事件里
dwo.name代表的是数据窗口里某一对象,如列,标签,数据窗口按钮等.
从你上面代码可看出,应该是在itemchanged事件里的,意思是当改变了数据窗口中'objuser'或 'seqno'或 'jobno'的值的时候分别触发不同的代码.