2010-05-03 2 views
3

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

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

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

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

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

+0

У меня такая же проблема, никогда не вызывайте AcceptChanges, но все же оригиналы содержат измененные значения, а не оригинал. Вы когда-нибудь находили решение? – GuidoG

ответ

2

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

+0

Я не указываю явное обновление в моей таблице данных. Я фактически использую сторонний элемент управления сеткой, которому назначена моя таблица данных. Может быть, сетка делает некоторые манипуляции на базовом источнике данных! –

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

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

Смежные вопросы