找回密码
 立即注册

QQ登录

只需一步,快速开始

王健

初级会员

20

主题

52

帖子

220

积分

初级会员

积分
220
王健
初级会员   /  发表于:2019-7-18 15:07  /   查看:2893  /  回复:1
使用场景:左边是一个表,右边的几个控件是跟左边的表绑定的同一个数据源。当我们定位到其中的某一行,在右边控件中进行数据编辑后(此时焦点还停留在控件内),我们直接点击左边的表中其他行,则会导致刚刚编辑的内容没有回写到数据源中,即再切回之前编辑的那一行时,刚刚编辑的内容不见了。

跟踪事件触发的顺序,发现顺序如下:
控件[TextChanged](修改数据时触发)
控件[PreValidated]

控件[PostValidated]

控件[TextChanged](更换行数据源写到控件中)
控件[ValueChanged]
数据源[CurrentChanged]
表[AfterRowColChange]
控件[LostFocus]
控件[Leave]
控件[Validating]
控件[Validated]
表[Enter]
表[GotFocus]
表[Click]
表[MouseClick]
表[GotFocus]

需求:如何能实现,我切换数据行时,能正常保存输入的内容?
尝试过的方案:在TextChanged事件中将值写到数据源中,可是这个会频繁地触发事件,并且会导致来回地赋值,不太好。最令人头疼的是,我想在控件中最后加个回车写其他内容,因为此事件的影响,会直接忽略取消掉刚刚添加的回车行。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

1 个回复

倒序浏览
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2019-7-18 18:17:39
沙发
本帖最后由 Richard.Ma 于 2019-7-18 18:31 编辑

我需要确定你右侧文本框是如何绑定的数据,最好是将你的demo发上来,我帮你验证问题
这里写了一个demo,你可以参考下,可以实现你需要的功能


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部