这个测试代码真的很简单
var addedRows1 = (securityDataTable.GetChanges(DataRowState.Added));
MessageBox.Show(addedRows1.Rows[1].RowState.ToString());
MessageBox.Show(addedRows1.Rows.Count.ToString());
addedRows1.Rows[1].AcceptChanges();
var addedRows2 = (securityDataTable.GetChanges(DataRowState.Added));
MessageBox.Show(addedRows2.Rows[1].RowState.ToString());
MessageBox.Show(addedRows2.Rows.Count.ToString());
4MessageBox
按顺序显示以下消息:
Added
3
Added
3
我希望计数在最后一条消息上返回 2。为什么不是这种情况,可以通过任何方式解决吗?注意:DataTable 未链接到表或特定数据源。
编辑:请注意,如果我第二次不重新查询 GetChanges(),则 RowState 可以(设置为未更改)