找回密码
 立即注册

QQ登录

只需一步,快速开始

gaobowen

中级会员

87

主题

227

帖子

810

积分

中级会员

积分
810

微信认证勋章

gaobowen
中级会员   /  发表于:2016-5-23 14:15  /   查看:4599  /  回复:7
本帖最后由 gaobowen 于 2016-5-23 15:47 编辑

我的问题首先是spread的cell在编辑状态下的keydown不能触发,所以我在EditModeOn中追加了一下代码
Dim KeydownHandler As KeydownEventHandler = AddressOf FpSpread_Keydown
AddHandler Me.EditingControl.Keydown, KeydownHandler
在OnEditModeOff中又将追加的事件释放。

这样当我入力的数字被keydown事件check住,报message时,刚才入力的数字就不能显示在cell中了

求大神指教

7 个回复

倒序浏览
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-23 15:42:56
沙发
您这样设计有点问题,因为弹出message后 就会丢失焦点,之前的输入还没有提交,您谈message 的目的是什么,或者您使用 fpSpread1.EditingControl.TextChanged 事件,这个是在输入后触发的,弹出message的时候输入内容已经提交了。
回复 使用道具 举报
gaobowen
中级会员   /  发表于:2016-5-23 15:49:10
板凳
dexteryao 发表于 2016-5-23 15:42
您这样设计有点问题,因为弹出message后 就会丢失焦点,之前的输入还没有提交,您谈message 的目的是什么, ...

弹message是因为我keydown中有check,提示输入的文字可能不对,如果该未TextChanged事件,那么keydown事件怎么触发呢
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-23 16:00:33
地板
实现TextChanged 就不用触发keydown了,两个都是对用户输入做出反馈的。
另外如果用户输入的数据非法,清除掉不是应该的吗?
回复 使用道具 举报
gaobowen
中级会员   /  发表于:2016-5-23 16:07:03
5#
dexteryao 发表于 2016-5-23 16:00
实现TextChanged 就不用触发keydown了,两个都是对用户输入做出反馈的。
另外如果用户输入的数据非法,清 ...

keydown事件里面还有其他逻辑,弹的message只是一个警告,也不一定是错的
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-23 16:21:24
6#
您可以在TextChanged里实现相同逻辑啊。keydown事件触发比较早,在值进入控件前已经触发,一般都是用于处理用户输入,如果合法继续,非法取消。所以按照您的逻辑使用这个事件不太合适了。
回复 使用道具 举报
gaobowen
中级会员   /  发表于:2016-5-23 16:26:48
7#
dexteryao 发表于 2016-5-23 16:21
您可以在TextChanged里实现相同逻辑啊。keydown事件触发比较早,在值进入控件前已经触发,一般都是用于处理 ...

恩,好的,那我知道了,用changed先试试,谢谢~~
回复 使用道具 举报
dexteryao讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2016-5-23 16:31:14
8#
不客气,有问题继续讨论
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部