关于Gird中的控件的焦点转移有点特殊性。给普通表单上的控件设置焦点我们可以用简单的代码实现,比如:
thisform.textbox1.setfocus()
thisform.refresh()
但是Grid中的控件则不行,如果你使用以下的代码,什么都不会发生:
thisform.grid1.column1.text1.setfocus()
thisform.refresh()
同时,你要从Grid中移出焦点到表单的控件上也一样,下面的代码同样没有反应:
grid1.cloumn1.text1.lostfocus():
thisform.command1.setfocus()
thisform.refresh()
另外,当我们使用移动纪录按钮在表中移动时,并不会反映到Grid中,比如:
sele dbfname
go bottom
thisform.refresh()
而Grid仍然停在原来的记录上。
[此贴子已经被作者于2006-5-24 17:57:00编辑过]
这样:
1、从表单的命令按钮向Grid中的文本框设置焦点
thisform.grid1.setfocus()
thisform.grid1.column1.text1.setfocus()
thisform.refresh()
2、从Grid中的文本框中移出焦点
grid1.column1.text1.lostfocus():
thisform.grid1.setfocus()
thisform.command1.setfocus()
thisform.refresh()
3、当数据指针移动时刷新Grid
sele dbfname
go bottom
thisform.grid1.setfocus()
thisform.refresh()
搞定