When you modify content of a row, it updates the DataRow.RowState
property, which can hold UnChanged
, Added
, Modified
etc. Later DataTable.GetChanges
filter out rows based on that row status. It is irrespective of the value.
Gets a copy of the DataTable containing all changes made to it since it was last loaded, or since AcceptChanges was called, filtered by DataRowState.
Also see:
Row States and Row Versions - MSDN
ADO.NET manages rows in tables using row states and versions. A row state indicates the status of a row; row versions maintain the values stored in a row as it is modified, including current, original, and default values. For example, after you have made a modification to a column in a row, the row will have a row state of Modified, and two row versions: Current, which contains the current row values, and Original, which contains the row values before the column was modified.