你对问题的描述还是不太清楚,如果你想在DW中一个column(假定为A)中输入了值,自动计算另外一个column(假定为B)的值,可以在itemchanged中计算。如同时需要控制光标的跳动,最好使用自定义事件pbm_dwnkey中判断enterkey键。在该事件中进行计算和焦点的改变控制。
如需在离开DW后,下次DW得到焦点时,焦点回到上次的column。有一种方法,在窗口中定义共享变量
string is_old_column
long il_old_row
在DW的itemfocuschanged中写入
is_old_column=dwo.name
在DW的rowschanged中写入
if currentrow >0 then
il_old_row=currentrow
end if
在DW的getfocus事件中写入
this.setcolumn(is_old_column)
if il_old_row > 0 then
this.scrolltorow(il_old_row)
end if