RowChanged()事件,ColumnChanged()事件

1.RowChanged事件的触发条件:

(1)tbl.Add(row),添加记录时,即行状态由Detached变成Added时会触发;

(2)修改记录值时

(3)调用tbl.AcceptChanges()方法时

(4)删除记录时(指彻底删除,而不是行状态变为Deleted)。

注:1.先执行删除,再执RowChanged事件;即在RowChanged事件之前,行状态已变为Detached。

2.在列改变事件中,执行行的EndEdit()方法,会立即顺序地去执行RowChanging和RowChanged事件,执行完毕后,再转回该列改变事件中继续执行,结束之后会再次顺序地执行RowChanging和RowChanged事件。在修改了字段值和执行RowChanged事件之间,该行的状态不会发生改变,只有在执行RowChanged事件时,访行的状态才会变为Modified。

3.不能在RowChanging事件中调用行的CancelEdit()方法。在ColumnChanging事件和RowChanged中调用行的CancelEdit()方法均不起任何作用。在ColumnChanged事件中调用CancelEdit() 方法会取消编辑,并在该事件结束后,不会执行RowChanging和RowChanged事件。

4.删除记录时并不会触发列改变事件。


2.tbl.ColumnChanged()事件的触发条件:

(1)修改列值时,即使此时行r1的状态为Detached,不是Added。例如,DataRow r1 = tbl.NewRow();r1["编号"] = 1;也会触发

注:tbl.Rows.Add(4, "王小虎", 900);会触发行改变事件,但不会触发列改变事件。

 

3.在编辑表中数据时,即便前后值未改变,焦点离开后仍会触发列改变事件。

4.没有被添加、修改、删除的记录在执行AcceptChanges()方法时,仍会触发行改变事件。

转载于:https://www.cnblogs.com/2008freestyle/archive/2012/03/27/2419787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值