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