2010-05-03 86 views
3

我有一个DataTable,我想找出所有修改后的数据行的原始列值。如何从DataRow获取原始DataColumn值?

我使用下面的方法来获取原单列值的DataRow中修改

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

之前,请指出我究竟错在这里做什么?上面的代码不会给我原始列,而是它给了我最新的修改列值。

谢谢。当你调用AcceptChanges
尼基尔

+0

我有同样的问题,从来没有调用AcceptChanges,但仍然原始包含修改后的值,而不是原来的。你有没有找到解决方案? – GuidoG 2016-12-08 11:02:44

回答

2

原始值都将丢失(当你在DataAdapterTableAdapter致电Update过这通常称为)。一旦更改被接受,您将无法访问原始值,这可能是您的代码无法工作的原因。

+0

我没有明确地调用我的数据表上的任何更新。我实际上正在使用我的数据表分配给的第三方网格控件。可能是网格对底层数据源做了一些处理! – 2010-05-03 15:07:30

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

这将返回转换为已设置列的字符串的值。