AcceptChanges ve RejectChanges

içindeki DataTableverilerde yapılan değişikliklerin doğruluğunu doğruladıktan sonra, Geçerli satır değerlerini Özgün değerler olarak ayarlayan ve RowState özelliğini Değişmedi olarak ayarlayan , DataTableveya DataSetyöntemini DataRowkullanarak AcceptChanges değişiklikleri kabul edebilirsiniz. Değişiklikleri kabul etmek veya reddetmek, RowError bilgilerini temizler ve HasErrors özelliğini false olarak ayarlar. Değişiklikleri kabul etmek veya reddetmek, veri kaynağındaki verilerin güncelleştirilmesini de etkileyebilir. Daha fazla bilgi için bkz . DataAdapters ile Veri Kaynaklarını Güncelleştirme.

DataTable'da yabancı anahtar kısıtlamaları varsa AcceptChanges ve RejectChanges kullanılarak kabul edilen veya reddedilen değişiklikler, ForeignKeyConstraint.AcceptRejectRule'a göre DataRow'un alt satırlarına yayılır. Daha fazla bilgi için bkz . DataTable Kısıtlamaları.

Aşağıdaki örnek hata içeren satırları denetler, uygun olduğunda hataları çözer ve hatanın çözümlenemediği satırları reddeder. Düzeltilmiş hatalar için RowError değerinin boş bir dizeye sıfırlandığını ve HasErrors özelliğinin false olarak ayarlanmasına neden olduğunu unutmayın. Hataları olan tüm satırlar çözümlendiğinde veya reddedildiğinde, Tüm DataTable'da yapılan tüm değişiklikleri kabul etmek için AcceptChanges çağrılır.

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();  

Ayrıca bkz.