Как получить исходное значение DataColumn из DataRow?

У меня есть DataTable, и я хочу выяснить исходное значение столбца для всех измененных строк данных.

Я использую следующий подход, чтобы получить исходное значение столбца до изменения DataRow.

DataRow[] dataRowArray = dataTableInstance.Select(null,null,DataViewRowState.OriginalRows);
DataRow originalDataRow = dataRowArray[rowIndex][columnIndex, DataRowVersion.Original] 

Пожалуйста, укажите, что я делаю неправильно здесь? Приведенный выше код не дает мне исходный столбец, вместо этого он дает мне последнее измененное значение столбца.

Спасибо.
Нихил


person Nikhil Vaghela    schedule 03.05.2010    source источник
comment
У меня та же проблема, никогда не вызывайте AcceptChanges, но все же исходные строки содержат измененные значения, а не оригинал. Вы когда-нибудь находили решение?   -  person GuidoG    schedule 08.12.2016


Ответы (2)


Исходные значения теряются, когда вы вызываете AcceptChanges (который обычно вызывается, когда вы вызываете Update также для DataAdapter или TableAdapter). Как только изменения будут приняты, вы не сможете получить доступ к исходным значениям, возможно, поэтому ваш код не работает.

person Thomas Levesque    schedule 03.05.2010
comment
я явно не вызываю никаких обновлений в моей таблице данных. На самом деле я использую сторонний элемент управления Grid, которому назначена моя таблица данных. Может быть, сетка манипулирует базовым источником данных!! - person Nikhil Vaghela; 03.05.2010

DataRow row = undefinedrow;   
row["Column"].ToString(); 

это возвращает значение, преобразованное в строку созданного столбца.

person Ben    schedule 09.03.2012