Share via


Memodifikasi DataViews

Anda bisa menggunakan DataView untuk menambahkan, menghapus, atau memodifikasi baris data dalam tabel yang mendasar. Kemampuan untuk menggunakan DataView untuk memodifikasi data dalam tabel dasar dikontrol dengan mengatur salah satu dari tiga properti Boolean dari DataView. Properti tersebut adalah AllowNew, AllowEdit, dan AllowDelete. Mereka diatur ke true secara default.

Jika AllowNewbenar, Anda bisa menggunakan AddNew metode DataView untuk membuat baru DataRowView. Perhatikan bahwa baris baru tidak benar-benar ditambahkan ke yang mendasar DataTable sampai EndEdit metode DataRowView dipanggil. Jika CancelEdit metode DataRowView dipanggil, baris baru akan dibuang. Perhatikan juga bahwa Anda hanya bisa mengedit satu DataRowView sekaligus. Jika Anda memanggil metode AddNew atau BeginEdit dari DataRowView saat ada baris yang tertunda, EndEdit secara implisit dipanggil pada baris yang tertunda. Saat EndEdit dipanggil, perubahan diterapkan ke DataTable yang mendasar dan nantinya bisa dilakukan atau ditolak menggunakan metode AcceptChanges atau RejectChanges dari objek DataTable, DataSet, atau DataRow. Jika AllowNewsalah, pengecualian akan ditampilkan jika Anda memanggil metode AddNew dari DataRowView.

Jika AllowEditbenar, Anda bisat memodifikasi konten DataRow melalui DataRowView. Anda bisa mengonfirmasi perubahan pada baris yang mendasar menggunakan DataRowView.EndEdit atau menolak perubahan menggunakan DataRowView.CancelEdit. Perhatikan bahwa hanya satu baris yang bisa diedit pada satu waktu. Jika Anda memanggil metode AddNew atau BeginEdit dari DataRowView saat ada baris yang tertunda, EndEdit secara implisit dipanggil pada baris yang tertunda. Saat EndEdit dipanggil, perubahan yang diusulkan ditempatkan di versi baris Saat ini dari DataRow yang mendasar dan nantinya bisa diterapkan atau ditolak menggunakan metode AcceptChanges atau RejectChanges dari objek DataTable, DataSet, atau DataRow. Jika AllowEditsalah, pengecualian akan ditampilkan jika Anda mencoba mengubah nilai di DataView.

Saat DataRowView yang ada sedang diedit, peristiwa DataTable yang mendasar masih akan dimunculkan dengan perubahan yang diusulkan. Perhatikan bahwa jika Anda memanggil EndEdit atau CancelEdit pada DataRow yang mendasar, perubahan yang tertunda akan diterapkan atau dibatalkan terlepas dari apakah EndEdit atau CancelEdit dipanggil di DataRowView.

Jika AllowDeletebenar, Anda bisa menghapus baris dari DataView dengan menggunakan metode Hapus objek DataView atau DataRowView, dan baris dihapus dari DataTable yang mendasar. Anda nantinya bisa menerapkan atau menolak penghapusan menggunakan AcceptChanges atau RejectChanges masing-masing. Jika AllowDeletesalah, pengecualian akan ditampilkan jika Anda memanggil metode HapusDataView atau DataRowView.

Contoh kode berikut menonaktifkan penggunaan DataView untuk menghapus baris dan menambahkan baris baru ke tabel yang mendasar menggunakan DataView.

Dim custTable As DataTable = custDS.Tables("Customers")  
Dim custView As DataView = custTable.DefaultView  
custView.Sort = "CompanyName"  
  
custView.AllowDelete = False  
  
Dim newDRV As DataRowView = custView.AddNew()  
newDRV("CustomerID") = "ABCDE"  
newDRV("CompanyName") = "ABC Products"  
newDRV.EndEdit()  
DataTable custTable = custDS.Tables["Customers"];  
DataView custView = custTable.DefaultView;  
custView.Sort = "CompanyName";  
  
custView.AllowDelete = false;  
  
DataRowView newDRV = custView.AddNew();  
newDRV["CustomerID"] = "ABCDE";  
newDRV["CompanyName"] = "ABC Products";  
newDRV.EndEdit();  

Lihat juga