Penghapusan DataRow
Ada dua metode yang dapat Anda gunakan untuk menghapus objek DataRow dari objek DataTable: metode Hapus dari objek DataRowCollection, dan metode Delete dari objek DataRow. Sedangkan metode Remove menghapus DataRow dari DataRowCollection, metode Delete hanya menandai baris untuk dihapus. Penghapusan sebenarnya terjadi saat aplikasi memanggil metode AcceptChanges. Dengan menggunakan Delete, Anda dapat memeriksa secara terprogram baris mana yang ditandai untuk dihapus sebelum benar-benar menghapusnya. Saat sebuah baris ditandai untuk dihapus, properti RowState-nya diatur ke Delete.
Baik Delete maupun Remove tidak boleh dipanggil dalam perulangan foreach saat melakukan iterasi melalui objek DataRowCollection. Delete atau Remove tidak mengubah status koleksi.
Saat menggunakan DataSet atau DataTable bersama dengan DataAdapter dan sumber data relasional, gunakan metode Hapus dari DataRow untuk menghapus baris. Metode Hapus menandai baris sebagai Dihapus di Himpunan Data atau DataTable tetapi tidak menghapusnya. Sebagai gantinya, ketika DataAdapter menemukan baris yang ditandai sebagai Dihapus, metode DeleteCommand akan dijalankan untuk menghapus baris di sumber data. Baris kemudian dapat dihapus secara permanen menggunakan metode AcceptChanges. Jika Anda menggunakan metode Hapus untuk menghapus baris, baris akan dihapus seluruhnya dari tabel, tetapi DataAdapter tidak akan menghapus baris di sumber data.
Metode Hapus dari DataRowCollection menggunakan DataRow sebagai argumen dan menghapusnya dari koleksi, seperti yang ditunjukkan pada contoh berikut.
workTable.Rows.Remove(workRow)
workTable.Rows.Remove(workRow);
Sebaliknya, contoh berikut menunjukkan cara memanggil metode Hapus pada DataRow untuk mengubah RowState menjadi Dihapus.
workRow.Delete
workRow.Delete();
Jika sebuah baris ditandai untuk dihapus dan Anda memanggil metode AcceptChanges dari objek DataTable, baris tersebut akan dihapus dari DataTable. Sebaliknya, jika Anda memanggil RejectChanges, RowState dari baris akan kembali seperti semula sebelum ditandai sebagai Dihapus.
Catatan
Jika RowState dari DataRow adalah Ditambahkan, artinya baru saja ditambahkan ke tabel, dan kemudian ditandai sebagai Dihapus, data tersebut dihapus dari tabel.