共用方式為


AcceptChanges 和 RejectChanges

在驗證資料變更的準確性DataTable之後,您可以使用AcceptChanges方法於DataRowDataTableDataSet中接受這些變更,這樣會將列值設為Current的值,並將屬性設為RowState未變更。 接受或拒絕變更會清除所有 RowError 資訊,並將屬性設 HasErrors。 接受或拒絕變更也可能會影響數據源中的數據更新。 如需詳細資訊,請參閱 使用 DataAdapters 更新數據源

DataTable上存在外鍵限制,使用進行的變更會根據ForeignKeyConstraint.AcceptRejectRule傳播到的子列。 如需詳細資訊,請參閱 DataTable 條件約束

下列範例會檢查是否有錯誤的數據列、解決適用的錯誤,並拒絕無法解決錯誤的數據列。 注意,對於已解決的錯誤,值 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();

另請參閱