C# datatable 改变了行数据,但是行状态没有改变

改变了行数据,行状态没有改变

    row[fields.Flag] = fields.ComfirmStatus;
    row[fields.Checkdate] = DateTime.Now;
    object o = row[fields.Flag, DataRowVersion.Original];
    object c = row[fields.Flag, DataRowVersion.Current];
    Console.WriteLine("Original=" + o.ToString());
    Console.WriteLine("Current=" + c.ToString());
    Console.WriteLine("rowdata=" + row[fields.Flag].ToString());

输出结果是
Original=0
Current=0
rowdata=1
这是什么原因呢?其他datatable都是可以的

rowDT.AcceptChanges();
因为楼主没有调用应用更改函数,调用了之后行状态就会改变了。

Added状态:该状态是指已经将行添加到表中,但是尚未调用表对象的AcceptChanged方法。调用AcceptChanged方法时,所有处在Added状态的行都变为Unchanged状态。

Modified状态:该状态表示该行已经被修改。调用AcceptChanged方法时,所有处在Modified状态的行都变为Unchanged状态

先检验数据是不是传错了