找回密码
 立即注册

QQ登录

只需一步,快速开始

lahuhu

注册会员

1

主题

3

帖子

14

积分

注册会员

积分
14
最新发帖
lahuhu
注册会员   /  发表于:2019-1-10 09:29  /   查看:3373  /  回复:5
遇到一个问题,请帮忙指点下,谢谢!

用户在单元格中输入的信息格式不正确,因此想聚焦在出错的单元格上,实现的代码是,SprSearchCondition_Sheet1.SetActiveCell(rowIndex, colIndex, false);

产生的问题是:此时日文输入法的ImeMode变成了disable(该单元设置的是off)

错误的输入法状态
image.png947158508.png

希望的输入法状态
image.png508655700.png

5 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-12 01:42:47
沙发
您可以在SetActiveCell 之后,给spread设置下
fpSpread1.ImeMode = ImeMode.Off;
单元格的ImeMode是编辑时候生效的
回复 使用道具 举报
lahuhu
注册会员   /  发表于:2019-1-12 20:25:50
板凳
谢谢回答,我按你说的方法去试了好像没效果。。
加上EditMode = true也没作用。。
能在帮忙看下吗?

SprSearchCondition_Sheet1.SetActiveCell(rowIndex, colIndex, false);
//加上这句没效果
SprSearchCondition.ImeMode = ImeMode.Off;
//再加上这句也没效果
SprSearchCondition.EditMode = true;
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-14 09:14:23
地板
还可能存在的一个问题spread是否已经获取到焦点, 还有您说的给cell设置了Ime是给Cell属性设置的还是celltype设置的。
在获取焦点的前提下,Cell的IME优先级高于Spread的IME
回复 使用道具 举报
lahuhu
注册会员   /  发表于:2019-1-16 11:31:34
5#
不好意思,回复晚了,这个问题还是没解决!
我是给单元格cell设置imeModel的,代码如下
cells[rowIndex, C_DGV_COL_IDX_SEARCH_VALUE].ImeMode = ImeMode.Off;

另外,你说的spread是否已经获取到焦点我不太明白。要如何确保spread会获取到焦点呢?
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-1-16 15:00:55
6#
调用spread.focus()
或者您提供个可以重现问题的Demo,我们这边测试下看是否能重现问题。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部