Karena data source menyediakan link antara data control dan datasetnya, maka data source menjembatani semua komunikasi yang terjadi di antara keduanya. Secara khusus, data-aware control secara otomatis merespon perubahan-perubahan di dalam dataset. Jika user interface Anda menggunakan kontrol-kontrol yang bukan data-aware control, maka Anda dapat menggunakan event-event komponen data source untuk secara manual menyediakan jenis respon yang sama.
Event OnDataChange terjadi kapan saja ketika data dalam sebuah record telah berubah, termasuk field-edits atau ketika cursor berpindah ke sebuah record baru. Event ini berguna untuk memastikan kontrol mencerminkan nilai-nilai field yang aktif dalam dataset, sebab OnDataChange dipicu oleh semua perubahan. Event handler OnDataChange me-refresh nilai non-data-aware control yang menampilkan data field.
Event OnUpdateData terjadi ketika data di dalam record yang aktif akan ditempatkan atau disimpan. Misalnya, event OnUpdateData terjadi setelah Post dipanggil (sebelum data aktualnya ditempatkan (posted) atau disimpan ke database server atau local cache).
Event OnStateChange terjadi ketika status dataset berubah. Ketika event ini aktif, Anda dapat menguji properti State dataset untuk menentukan statusnya yang aktif.
Contoh, event handler OnStateChange berikut ini meng-enable atau men-disable tombol atau item-item menu berdasarkan pada status yang aktif :
procedure Form1.DataSource1.StateChange(Sender: TObject);
begin
CustTableEditBtn.Enabled := (CustTable.State = dsBrowse);
CustTableCancelBtn.Enabled := CustTable.State in [dsInsert, dsEdit, dsSetKey];
CustTableActivateBtn.Enabled := CustTable.State in [dsInactive];
. . .
end;
No comments:
Post a Comment
Silahkan tinggalkan pesan