DataRow對象的RowState和DataRowVersion屬性特點 -开发者知识库

DataRow對象的RowState和DataRowVersion屬性特點 -开发者知识库,第1张

   DataRow對象有兩個比較重要的屬性,分別是行狀態(RowState)和行版本(DataRowVersion),通過這兩個屬性能夠有效的管理表中的行。下面簡要的介紹一下行狀態和行版本的特點和關系。

ü         行狀態(RowState):

l         UnChanged狀態:指表中的行自創建之后沒有做過任何改動的狀態,或則是行在上次接受修改之后,至今未做過任何改動的狀態。

l         Added狀態:該狀態是指已經將行添加到表中,但是尚未調用表對象的AcceptChanged方法。調用AcceptChanged方法時,所有處在Added狀態的行都變為Unchanged狀態。

l         Modified狀態:該狀態表示該行已經被修改。調用AcceptChanged方法時,所有處在Modified狀態的行都變為Unchanged狀態

l         Deleted狀態:該狀態表示該行已經從表中刪除,但是尚未調用表對象的AcceptChanged方法

l         Detached狀態:該狀態表示該行不屬於任何表,或則已經從表中分離出去了,不再屬於任何表的DataRow對象。

下面舉例說行的變化狀態。新建的行(DataRow對象)處於Detached狀態,把它添加到DataTable對象之后,該DataRow對象的狀態變為Added狀態。如果對該DataRow進行了修改,則該行處於Modified狀態。如果使用Remove方法從表中移除該DataRow對象,或則使用Delete方法和AcceptChanged方法移除該行,則該行處於Detached狀態。

ü         行版本(DataRowVersion)

   行(DataRow)對象有四種不同的行版本,分別是Current,Original,proposed和default。下面對這些行版本進行簡要的說明。

l           Current:表示行的當前值。處於deleted狀態的行不存在該行版本。

l           Original:表示行的原始值。處於Added狀態的行不存在該行版本

l           Proposed:表示行的建議值。不屬於表的行,即處於Detached狀態的行存在該行版本;對於正在進行編輯的行,也存在該行版本。

l           Default:表示行的默認版本。處於Added,Modified或則Unchanged狀態的行的默認行版本是current;處於deleted狀態的行的默認行版本是original。處於Detached狀態的行的默認版本是proposed。

下面舉例說明行狀態和行版本的變化。當調用AcceptChanged方法,所有處於deleted狀態的行將變為Detached狀態,即被移除。其余的行會變為Unchanged狀態,並且Original版本中的值會改寫為current行版本的值。

最佳答案:

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复