AcceptChanges ve RejectChanges

İçindeki verilerde yapılan değişikliklerin doğruluğunu doğruladıktan sonra, DataTable AcceptChanges veya, DataRow DataTable DataSet geçerli satır değerlerini orijinal değerler olarak ayarlanacak ve RowState özelliğini değiştirilmemiş olarak ayarlanacak olan, veya yöntemini kullanarak değişiklikleri kabul edebilirsiniz. Değişiklikleri kabul etmek veya reddetmek, tüm RowError bilgilerini temizler ve HasErrors özelliğini false olarak ayarlar. Değişiklikleri kabul etme veya reddetme, veri kaynağındaki verileri güncelleştirmeyi de etkileyebilir. Daha fazla bilgi için bkz. veri kaynaklarını DataAdapter Ile güncelleştirme.

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

Aşağıdaki örnek, hataları olan satırları denetler, uygun olduğunda hataları çözer ve hatanın çözümlenemediği satırları reddeder. Çözümlenen hatalar için RowError değeri ' nin boş bir dizeye sıfırlandığını ve HasErrors özelliğinin false olarak ayarlanmasına neden olduğunu unutmayın. Hata içeren tüm satırlar çözümlendiğinde veya reddedildiğinde, AcceptChanges tüm DataTable için tüm değişiklikleri kabul etmek üzere ç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.