找回密码
 立即注册

QQ登录

只需一步,快速开始

Sai_wei20

注册会员

10

主题

23

帖子

73

积分

注册会员

积分
73

[处理中] spread12

Sai_wei20
注册会员   /  发表于:2021-8-20 13:32  /   查看:3051  /  回复:3
canfocus 等于true后单元格被激活可以指定光标,但是这个动作要事件完成后才触发,如何在事件中我就能focus到当前的单元格呢。

3 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-20 13:48:26
沙发
调用fpSpread1.Focus();方法,fpSpread1控件就会获得焦点,且肯定就是fpspread1控件失去焦点之前的默认单元格获得焦点

回复 使用道具 举报
Sai_wei20
注册会员   /  发表于:2021-8-20 14:50:58
板凳
你没有理解我说的问题, 例如这样 我有3个单元格,第一格可以输入,第二格不能输入,第三格可以输入,
然后第一个单元格输999按enter键之后,第二个单元格可以变成输入,光标要focus到这里,但是目前跳到了第三格。
我是写在了leavecell事件中,
if cell1.value= '999' then
cell2.canfocus = true
end if
这样的结果focus并没有跳到第二单元格。
fpSpread1.Focus()方法都用过,没有效果。我的理解是因为事件还在处理中,虽然
cell2.canfocus = true了,但事件没完,第二格还是不能被focus的,所以enter后跳到了第3格。不知道这样理解是否正确,要如何处理才能实现呢。
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-8-20 16:05:43
地板
应该是触发时机的问题,判断cell是否允许focus是在leavel事件前发生的

你可以尝试一下在EditModeOff事件中进行设置看看
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部