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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章