DataTable状态(DataRowState, AcceptChanges,RejectChanges,BeginEdit)介绍

DataRowState 枚举:

Added

该行已添加到 DataRowCollection 中,AcceptChanges尚未调用。 

Deleted

该行已通过 DataRow Delete 方法被删除。

Detached

该行已被创建,但不属于任何 DataRowCollectionDataRow 在以下情况下立即处于此状态:创建之后添加到集合中之前;或从集合中移除之后。 

Modified

该行已被修改,AcceptChanges 尚未调用。

Unchanged

该行自上次调用 AcceptChanges 以来尚未更改。 

 

DataTable.AcceptChanges方法:提交自上次调用AcceptChanges以来对该表进行的所有更改。

调用AcceptChanges时,任何仍处于编辑模式的DataRow对象将成功结束其编辑。DataRowState也发生更改:所有AddedModified行成为UnchangedDeleted行被移除。

在您尝试使用DbDataAdapter.Update方法更新DataSet之后,通常会对DataTable调用AcceptChanges方法。

 

DataTable.RejectChanges方法:回滚自该表加载以来或上次调用AcceptChanges以来对该表进行的所有更改。

调用RejectChanges时,任何仍处于编辑模式的DataRow对象将取消其编辑。新行被移除。DataRowState设置为ModifiedDeleted的行返回到其初始状态。

会出现对DataTable进行多次更改,但是通过调用RejectChanges方法拒绝这些更改的现象。

 

DataRow.BeginEdit方法:DataRow对象开始编辑操作。

使用BeginEdit方法将DataRow置于编辑模式。在此模式中,事件被临时挂起,以便允许用户在不触发验证规则的情况下对多行进行多处更改。例如,如果需要确保总数列的值等于某行中借贷列的值,则可以将每一行都置入编辑模式,以便在用户尝试提交值之前挂起对行值的验证。

BeginEdit方法在用户更改数据绑定控件的值时被隐式调用;EndEdit方法在您调用DataTable对象的 AcceptChanges方法时被隐式调用。

 

全都摘自MSDN

发布了73 篇原创文章 · 获赞 5 · 访问量 33万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章