Semua data control kecuali navigator akan menampilkan data dari field database. Anda dapat menggunakannya untuk mengedit dan meng-update data selama dataset yang mendasari mengizinkannya. Unidirectional-dataset tidak pernah mengizinkan user mengedit dan meng-update data.
Dataset harus berada dalam status dsEdit untuk mengizinkan proses editing terhadap datanya. Jika properti AutoEdit data source bernilai True (nilai default), maka data control menangani tugas untuk meletakkan dataset ke dalam mode dsEdit segera setelah user mencoba untuk mengedit datanya.
Jika AutoEdit bernilai False, Anda harus menyediakan mekanisme akternatif untuk meletakkan dataset ke dalam mode edit. Salah satu mekanisme yang semacam ini adalah menggunakan kontrol TDBNavigator dengan sebuah tombol Edit, yang membolehkan user secara eksplisit meletakkan dataset ke dalam mode edit. Anda dapat menulis kode yang memanggil metode Edit dataset ketika Anda ingin meletakkan dataset ke dalam mode edit.
Data control hanya dapat menempatkan atau menyimpan edit ke dataset yang dihubungkannya jika properti CanModify datase bernilai True. CanModify selalu bernilai False pada unidirectional-dataset. Beberapa dataset mempunyai properti ReadOnly yang membolehkan Anda menetapkan apakah CanModify bernilai True.
Catatan: Dataset dapat di-update tergantung apakah tabel database yang mendasari mengizinkan proses update.
Jika properti CanModify dataset bernilai True, maka properti Enabled data source yang menghubungkan dataset ke kontrol harus bernilai True sebelum kontrol dapat menempatkan (post) atau menyimpan update kembali ke tabel database. Properti Enabled data source menentukan apakah kontrol dapat menampilkan nilai-nilai field dataset, dan juga apakah user dapat mengedit dan menyimpan nilai. Jika Enabled bernilai True (nilai default), maka kontrol dapat menampilkan nilai-nilai field.
Anda dapat mengendalikan apakah user dapat memasukkan edit ke data yang ditampilkan dalam kontrol. Properti ReadOnly data control menentukan jika user dapat mengedit data yang ditampilkan oleh kontrol. Jika bernilai False (nilai default), maka user dapat mengedit data. Anda dapat memastikan bahwa properti ReadOnly kontrol adalah bernilai True ketika properti CanModify dataset bernilai False.
Di dalam semua data control kecuali TDBGrid, ketika Anda memodifikasi sebuah field, maka proses modifikasi akan disalin ke database yang mendasari ketika Anda menekan tombol Tab kontrol. Jika Anda menekan tombol Esc sebelum Anda Anda menekan tombol Tab field, maka data control meninggalkan proses modifikasi, dan nilai field kembali ke nilai semula sebelum proses modifikasi dibuat.
Dalam TDBGrid, proses modifikasi ditempatkan (posted) atau disimpan ketika Anda berpindah ke record yang berbeda. Anda dapat menekan tombol Esc di dalam record manapun dari sebuah field sebelum berpindah ke record lainnya untuk membatalkan semua perubahan pada record.
Ketika sebuah record ditempatkan (posted) atau disimpan, maka Delphi akan memeriksa semua data-aware controls yang dihubungkan dengan dataset. Jika ada masalah dalam proses updating field yang berisi data yang akan dimodifikasi, maka Delphi akan memanggil (raises) exception, dan tidak akan ada proses modifikasi yang dibuat pada record.
Catatan: Jika aplikasi Anda melakukan proses caches updates (misalnya, menggunakan dataset client), maka semua proses modifikasi akan disimpan ke dalam internal-cache. Modifikasi-modifikasi ini tidak berlaku untuk tabel database yang mendasari hingga Anda memanggil metode ApplyUpdates dataset.
No comments:
Post a Comment
Silahkan tinggalkan pesan