共用方式為


AcceptChanges 和 RejectChanges

驗證對 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 中的資料