共用方式為


AcceptChanges 和 RejectChanges

更新: November 2007

驗證對 DataTable 中之資料所進行之變更的正確性之後,即可以使用 DataRowDataTableDataSetAcceptChanges 方法接受變更,這樣會將 Current 資料列值設為 Original 值,並將 RowState 屬性設為 Unchanged。接受或拒絕變更會清除任何 RowError 資訊,並且會將 HasErrors 屬性設為 false。接受或拒絕變更也會影響資料來源中的資料更新。如需詳細資訊,請參閱 以 DataAdapter 更新資料來源 (ADO.NET)

如果 DataTable 有外部索引鍵條件約束,則使用 AcceptChangesRejectChanges 接受或拒絕的變更都會根據 ForeignKeyConstraint.AcceptRejectRule 傳播至 DataRow 的子資料列。如需詳細資訊,請參閱 DataTable 條件約束 (ADO.NET)

下列範例會檢查發生錯誤的資料列、適當地解決錯誤,並且在無法解決錯誤時拒絕資料列。請注意,對於已解決的錯誤,RowError 值將重設為空字串,進而讓 HasErrors 屬性設為 false。當發生錯誤的所有資料列都已解決或拒絕後,將會呼叫 AcceptChanges 以接受整個 DataTable 中的所有變更。

If workTable.HasErrors Then
  Dim errRow As DataRow

  For Each errRow in workTable.GetErrors()

    If errRow.RowError = "Total cannot exceed 1000." Then
      errRow("Total") = 1000
      errRow.RowError = ""    ' Clear the error.
    Else
      errRow.RejectChanges()
    End If
  Next
End If

workTable.AcceptChanges()
if (workTable.HasErrors)
{

  foreach (DataRow errRow in workTable.GetErrors())
  {
    if (errRow.RowError == "Total cannot exceed 1000.")
    {
      errRow["Total"] = 1000;
      errRow.RowError = "";    // Clear the error.
    }
    else
      errRow.RejectChanges();
  }
}

workTable.AcceptChanges();

請參閱

參考

DataRow

DataSet

DataTable

其他資源

管理 DataTable 中的資料