注册 登录
编程论坛 VFP论坛

grid里怎么用光标键实现在固定列的上下移动?

love0428 发布于 2023-01-25 13:29, 714 次点击
如图所示,目前tab键只能在一行左右循环移动,光标键上下没有反应。
想使用光标上下实现,只在成绩列移动,或使用tab键下移。请问怎么实现?

只有本站会员才能查看附件,请 登录
9 回复
#2
sdta2023-01-25 14:52
正常情况下,光标键可以在GRID指定列中随意移动的。
上传相关文件,看下是什么原因造成光标键不能上下移动。
#3
love04282023-01-25 16:42
回复 2楼 sdta
方便给个邮箱吗?我给你发邮箱,帮忙看一下是什么原因。大过年的还给人排忧解难,非常感谢!
#4
吹水佬2023-01-25 17:50
随便建个表拉个GRID入FORM就即时测试不就清楚了吗,问题肯定出在之后的事。
#5
sdta2023-01-25 19:56
删除GRID1中 成绩 列中的EDIT1控件即可
#6
sdta2023-01-25 19:59
另外在表单中尽量少用PUBLIC,改用自定义属性即可
#7
igaoyuan2023-01-25 20:00
重新拖一个grid表进入表单,将ThisForm.grd表名.Column7.Text7.enable = .T. ,其它1-6设为.F.即可
#8
sam_jiang2023-01-25 21:04
好像按tab键和enter键,都是在某一行里循环的,上下键也不管用,因为这个时候的keypress被grid的text控件截获了,好像在readonly下可以上下移动。
解决这个问题有几个方法:
1,自己给text写个keypress事件,在上下键,或enter或tab键时,触发浏览记录的命令,skip,然后替换grid的text。
2,采用冒泡事件,把grid的keypress事件传递给grid,或是form,然后为form编写keypress事件,控制记录移动,就完成上下移动了。
3,用bindevent方法,把grid里的text的keypress事件和form的keypress事件绑定,然后为form写上下移动的keypress事件即可。

我之前用的是第一种方法。
#9
love04282023-01-25 21:52
回复 5楼 sdta
非常感谢!
另外,我设置的成绩字段是3个字符,现在输入比如123,他就跳到第一列了,怎么让他自动到下一行的成绩呢?
#10
love04282023-01-25 22:00
回复 8楼 sam_jiang
用sdta老师的方法解决问题了,现在还想优化一下
1