Bagikan melalui


AcceptChanges dan RejectChanges

Setelah memverifikasi akurasi perubahan yang dilakukan pada data dalam DataTable, Anda dapat menerima perubahan menggunakan metode AcceptChanges dari DataRow, DataTable, atau DataSet, yang akan mengatur nilai baris Saat Ini menjadi nilai Asli dan akan mengatur properti RowState ke Tidak Berubah. Menerima atau menolak perubahan akan menghapus informasi RowError apa pun dan mengatur properti HasErrors ke salah. Menerima atau menolak perubahan juga dapat memengaruhi pembaruan data di sumber data. Untuk informasi selengkapnya, lihat Memperbarui Sumber Data dengan DataAdapters.

Jika batasan kunci asing ada di DataTable, perubahan diterima atau ditolak menggunakan AcceptChanges dan RejectChanges disebarluaskan ke baris turunan DataRow sesuai dengan ForeignKeyConstraint.AcceptRejectRule. Untuk informasi selengkapnya, lihat Batasan DataTable.

Contoh berikut memeriksa baris dengan kesalahan, menyelesaikan kesalahan jika berlaku, dan menolak baris di mana kesalahan tidak dapat diselesaikan. Perhatikan bahwa, untuk kesalahan yang diselesaikan, nilai RowError diatur ulang ke string kosong, menyebabkan properti HasErrors diatur ke salah. Ketika semua baris yang memiliki kesalahan telah diselesaikan atau ditolak, AcceptChanges dipanggil untuk menerima semua perubahan untuk seluruh 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();  

Lihat juga