hur.cn - 华软网

 热门搜索

在函数中调用按钮的triggerevent问题

  作者:未知    来源:网络    更新时间:2019/10/7
问题描写:
(1)
由于有几个地方都用到判断是否有未保存的数据,所以写了个全局函数:
//判断是否有未保存的数据
//function name:SaveOrNot
//retrun type:  integer
//argument:     reference dwwindow dwname  , reference commandbutton cb
//
int ans
if dwname.modifiedcount( )+dwname.deletedcount( )>0 then
ans=messagebox("提醒信息","数据已经修改,是否保存?",question!,yesnocancel!,3)
if ans=1 then
                  //cb为保存按钮
cb.triggerevent( clicked!)
elseif ans=2 then
rollback;
end if
end if
return ans 

(2)
//以下是cb_save.clicked事件
string ls_custno//客户代号
ls_custno=trim(sle_custno.text)
if ls_custno="" then
messagebox("提醒信息","客户不能为空!",exclamation!)
sle_custno.setfocus( )
return 
end if
//更新z_tf_price
long ll_rtn
ll_rtn = dw_1.Update()
IF ll_rtn = 1 THEN
 COMMIT USING SQLCA;
 messagebox("提醒信息" ,"保存成功!" ,information!)
ELSE
 ROLLBACK USING SQLCA;
 MessageBox("毛病" , "更新z_lf_price失利!",stopsign! )
END IF

(3)
在其余按钮的单击事件调用的时候,比如cb_exit的clicked事件:
int ans
ans=SaveOrNot(dw_1,cb_save)
if ans=3 then
return
end if
close(parent)


问题以下:
当我直接点cb_save的时候,如果sle_custno.text(客户代号)为空,那末会提醒并焦点前往到客户文本框,这没有问题。
然则当我点cb_exit的时候,选择保存,如果sle_custno.text(客户代号)为空,程序也提醒"客户不能为空!",但提醒完窗口就直接关闭了。怎样才能使焦点前往到客户代号文本框呢?


------华软网友回答------
cb_save.clicked能够前往值的,
函数
cb.triggerevent( clicked!)
改称
long i
i = cb_3.event clicked()
根据i再往回传给cb_exit,决意是否return

------华软网友回复------
谢了哥们,终于搞定了
------华软网友回复------
我怎么给你分呢?老提醒给的分总合不对
------华软网友回复------
查了帮助,给了分,不知道成功了没      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。