Ketika aplikasi Anda mengiterasi dataset atau melakukan proses pencarian (search), Anda dapat untuk sementara waktu mencegah proses refreshing nilai-nilai yang ditampilkan di dalam data-aware controls setiap kali record yang aktif berubah. Mencegah proses refreshing pada nilai akan mempercepat proses iterasi atau pencarian dan mencegah gangguan flicker pada screen.
DisableControls merupakan sebuah metode dataset yang men-disable tampilan semua data-aware controls yang terhubung dengan dataset. Setelah proses iterasi atau pencarian berakhir, maka aplikasi Anda dapat dengan segera memanggil metode EnableControls dataset untuk meng-enable kembali tampilan kontrol.
Pada umumnya Anda men-disable kontrol sebelum memasukkan proses-proses iterasi. Proses iterasinya sendiri perlu ditempatkan di dalam pernyataan try...finally sehingga Anda dapat meng-enable kembali kontrol bahkan jika exception terjadi selama proses. Klausa finally akan memanggil EnableControls. Kode berikut ini mengilustrasikan bagaimana Anda menggunakan DisableControls dan EnableControls :
CustTable.DisableControls;
try
CustTable.First; { Go to first record, which sets EOF False }
while not CustTable.EOF do { Cycle until EOF is True }
begin
{ Process each record here }
. . .
CustTable.Next; { EOF False on success; EOF True when Next fails on last record }
end;
finally
CustTable.EnableControls;
end;
Me-refresh tampilan data
Metode Refresh pada dataset akan melakukan proses flush pada buffer-buffer lokal dan mengambil kembali data pada dataset yang telah dibuka. Anda dapat menggunakan metode ini untuk meng-update tampilan di dalam data-aware controls jika Anda berpikir bahwa data yang mendasari telah berubah sebab aplikasi lainnya mempunyai akses simultan pada data yang digunakan dalam aplikasi Anda. Jika Anda menggunakan cached-update sebelum Anda me-refresh dataset, maka Anda harus mengaplikasikan update dataset manapun yang sekarang telah di-cache.
Proses refreshing kadangkala dapat mendorong ke hasil yang tidak diharapkan. Contoh, jika user sedang mengamati record yang dihapus oleh aplikasi lain, maka record ini tidak akan ditampilkan pada saat aplikasi Anda memanggil Refresh.
No comments:
Post a Comment
Silahkan tinggalkan pesan