dw 的 editchanged事件:
ib_changed = true
cb_update.enabled = true
datawindowchild ldwc_dddw
datawindowchild ldwc_dddw1
CHOOSE CASE dwo.name
CASE 'company_name'
This.GetChild(dwo.Name,ldwc_dddw)
if len(data)>1 then
ldwc_dddw.setfilter("( Upper(company_no) like '%"+Upper(Data)+"%' ) OR ( Upper(py_code) like '%"+Upper(Data)+"%' )")
// ldwc_dddw.setfilter("Upper(stock_no) like '%"+Upper(Data)+"%'")
ldwc_dddw.filter( )
else
ldwc_dddw.setfilter('')
ldwc_dddw.filter( )
end if
CASE 'account'
int i
i = This.GetChild(dwo.Name,ldwc_dddw1)
if i = -1 then return
ldwc_dddw1.setTransObject(sqlca)
ldwc_dddw1.retrieve()
inv_dddwsrv.of_filter(ldwc_dddw1,"account_no",Upper(Data),false)
CASE 'entrust_bank'
This.GetChild(dwo.Name,ldwc_dddw)
if len(data)>1 then
ldwc_dddw.setfilter("( Upper(py_code) like '%"+Upper(Data)+"%' )")
ldwc_dddw.filter( )
else
ldwc_dddw.setfilter('')
ldwc_dddw.filter( )
end if
END CHOOSE
dw的itemchanged事件:
ib_changed = true
cb_update.enabled = true
//IF dwo.name <>'contract_no' THEN return
IF row < 1 THEN return
int li_Count
dwitemstatus ldws
STRING ls_bm,ls_bm1,ls_bm2,ls_bm3,ls_bm4
STRING ls_ry
CHOOSE CASE dwo.name
CASE 'contract_no'
ldws = this.getitemstatus(row,0,primary!)
IF ldws = new! OR ldws = newmodified! THEN
SELECT count(*) into :li_Count from contract_info where contract_no= :data;
IF li_Count > 0 THEN
messagebox('警告','此合同已经存在.')
return 1
END IF
END IF
CASE 'company_name'
IF Len(Data) > 0 THEN
int count
SELECT count(*) INTO :count
FROM custom_info
WHERE company_no=:data ;
if count<=0 then
// messagebox('提示','输入的合同号不存在!')
return 1
end if
end if
//THIS.AcceptText()
//ls_ry = THIS.GetItemString(row,'product_no')
SELECT company_short, company_address,capital,legal_person, company_name INTO :ls_bm, :ls_bm1, :ls_bm2, :ls_bm3, :ls_bm4
FROM custom_info
WHERE company_no= :data ;
IF ls_bm <> '' AND IsNull(ls_bm) = FALSE THEN
THIS.SetItem(row,'company_short',ls_bm)
END IF
IF ls_bm1 <> '' AND IsNull(ls_bm1) = FALSE THEN
THIS.SetItem(row,'address',ls_bm1)
END IF
IF ls_bm2 <> '' AND IsNull(ls_bm2) = FALSE THEN
THIS.SetItem(row,'capital',ls_bm2)
END IF
IF ls_bm3 <> '' AND IsNull(ls_bm3) = FALSE THEN
THIS.SetItem(row,'legal_person',ls_bm3)
END IF
IF ls_bm4 <> '' AND IsNull(ls_bm4) = FALSE THEN
THIS.SetItem(row,'company_bz',ls_bm4)
END IF
CASE 'product_no'
THIS.AcceptText()
//ls_ry = THIS.GetItemString(row,'product_no')
SELECT product_name INTO :ls_bm
FROM product_info
WHERE product_no = :data ;
IF ls_bm <> '' AND IsNull(ls_bm) = FALSE THEN
THIS.SetItem(row,'product_name',ls_bm)
END IF
dw的itemerr事件:
CHOOSE CASE dwo.name
CASE "tel"
MessageBox("提示","请输入数值类型数据!")
this.setfocus()
Return 1
CASE "contract_no","isnotrenewal"
MessageBox("提示","请输入正确合同号!")
Return 1
CASE "company_name"
MessageBox("提示","请输入正确公司代号!")
Return 1
// CASE "account"
//
// MessageBox("提示","请输入正确帐号!")
//
// Return 1
END CHOOSE
控制窗口字段类型录入正确
dw的itemerr事件:
string ls_column_name,ls_null
dec ldc_null
date ld_null
time lt_null
ls_column_name = dwo.name
SetNull(ls_null)
SetNull(ldc_null)
SetNull(ld_null)
SetNull(lt_null)
CHOOSE CASE Lower(dwo.ColType)
CASE "date","datetime"
IF Not IsDate(data) THEN
MessageBox("提示","请输入日期类型数据!")
this.SetItem(row,ls_column_name,ld_null)
Return 1
END IF
CASE "decimal","number","long"
IF Not IsNumber(data) THEN
MessageBox("提示","请输入数值类型数据!")
this.SetItem(row,ls_column_name,ldc_null)
Return 1
END IF
CASE "time"
IF Not IsTime(data) THEN
MessageBox("提示","请输入时间类型数据!")
this.SetItem(row,ls_column_name,lt_null)
Return 1
END IF
END CHOOSE