在Winforms應用程序我必須記錄datagrid(datatable)中的所有更改。換句話說,我想獲得所有更改,因爲它已被加載。爲此,我想使用Datatable.GetChanges()。我知道,GetChanges()我得到一個數據表,其中包含原始DataSet中所有具有未決更改行的副本。GetChanges()或RowState獲取數據表的所有更改?
我的問題是現在,如果它也有可能獲得更多更改的其他信息。例如,我想知道是否行已被加入或刪除或只有已更新。如果一行已更新我也想知道哪些單元格已更新?有沒有辦法快速獲得所有這些信息,還是我必須做一個深層比較與原始數據表行?
還是更好地使用RowState獲得所有更改?
謝謝您的回答。幾個註釋:1)您需要使用Equals(),因爲「!=」將比較返回對象的引用(即使對象包含相同的值,也會返回false)。 2)我不得不使用DataRowVersion.Current而不是DataRowVersion.Proposed,因爲DataRowVersion.Proposed拋出異常。 – nightcoder 2012-12-14 20:21:29