找回密码
 立即注册

QQ登录

只需一步,快速开始

zhata
论坛元老   /  发表于:2013-7-10 12:23  /   查看:6602  /  回复:4
1.用鼠标或键盘或粘贴改变CheckboxCell的值不会触发CellEndEdit事件;
2.粘贴数据到MultiRow中也不会触发CellEndEdit事件;
问题是:希望区分Cell.Value值的改变是由代码运算触发的还是操作人员用鼠标或键盘或粘贴操作触发的;
我现在是通过CellEndEdit事件来区分,但碰到上面两个问题。请指教,谢谢。

4 个回复

倒序浏览
wedy.wang
初级会员   /  发表于:2013-7-10 14:44:00
沙发
回复 1楼zhata的帖子

你可以尝试使用CellValueChanged事件和CellEditedFormattedValueChanged事件。
其中:通过CellValueChanged可以解决通过代码设置Cell.Value的case;通过CellEditedFormattedValueChanged可以解决鼠标键盘操作。
回复 使用道具 举报
zhata
论坛元老   /  发表于:2013-7-10 16:03:00
板凳
在填充ColumnHeaders中的Cell时也会触发CellValueChanged事件,这样就无法区分是用户操作引起的还是填充数据引发的事件,要求填充数据时
不要触发CellValueChanged事件,这种要求能不能实现?
回复 使用道具 举报
wedy.wang
初级会员   /  发表于:2013-7-10 16:46:00
地板
回复 3楼zhata的帖子

无法区分。
如果你填充数据的逻辑很集中,并且是个独立方法,你自己可以添加一个flag,标记为true表示是你自己在填充数据,然后在CellValueChanged事件当中判断这个flag,如果是true,忽略处理,并将flag设置为false;如果是false表示用户操作,处理。
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-10-18 17:57:00
5#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部