用DataTable.RejectChanges 方法:
C#
回滚自该表加载以来或上次调用 AcceptChanges 以来对该表进行的所有更改。
[C#]
public void RejectChanges();备注
调用 RejectChanges 时,任何仍处于编辑模式的 DataRow 对象将取消其编辑。新行被移除。DataRowState 设置为 Modified 或 Deleted 的行返回到其初始状态。
C#
回滚自该表加载以来或上次调用 AcceptChanges 以来对该表进行的所有更改。
[C#]
public void RejectChanges();备注
调用 RejectChanges 时,任何仍处于编辑模式的 DataRow 对象将取消其编辑。新行被移除。DataRowState 设置为 Modified 或 Deleted 的行返回到其初始状态。
public void RejectChanges();
备注
当调用 RejectChanges 方法时,CancelEdit 方法被隐式调用以取消任何编辑。如果 RowState 是“已删除”或“已修改”,则该行恢复为其以前的值,RowState 变成“未更改”。如果 RowState 是“已添加”,则该行将被移除。示例
[C#]
private void DemonstrateDeleteRow(){
// Create a simple DataTable with two columns and ten rows.
DataTable myTable = new DataTable("myTable");
DataColumn c1 = new DataColumn("id",Type.GetType("System.Int32"));
c1.AutoIncrement=true;
DataColumn c2 = new DataColumn("item", Type.GetType("System.String"));
myTable.Columns.Add(c1);
myTable.Columns.Add(c2);
// Add ten rows.
DataRow newRow;
for(int i = 0; i <10; i++){
newRow = myTable.NewRow();
newRow["item"] = "Item " + i;
myTable.Rows.Add(newRow);
}
myTable.AcceptChanges();
// Create a DataView with the table.
DataRowCollection rc = myTable.Rows;
rc[0].Delete();
rc[2].Delete();
rc[3].Delete();
rc[5].Delete();
Console.WriteLine(rc[3].RowState.ToString());
// Reject changes on one deletion.
rc[3].RejectChanges();
// Change the value of the column so it stands out.
rc[3]["item"] = "Deleted, Undeleted, Edited";
// Accept changes on others.
myTable.AcceptChanges();
// Print the remaining row values.
foreach(DataRow r in myTable.Rows){
Console.WriteLine(r[0] + "\t" + r[1]);
}
}