Artikel ini menjelaskan secara singkat penerapan pemuatan lambat pada kontrol yang umum digunakan.
1. Memuat data saat antarmuka pertama kali ditampilkan. Pemuatan lambat yang paling sederhana dapat memuat data saat kontrol ditampilkan untuk pertama kalinya. Misalnya, jika Anda memiliki banyak tab, data hanya akan dimuat saat pengguna beralih ke ini tab.
Metode virtual SetVisibleCore disediakan di Kontrol .NET. Ketika nilai yang terdeteksi benar dan metode ini dipanggil untuk pertama kalinya, pemuatan lambat akan dipanggil. Tapi saya tidak merekomendasikan metode ini karena Anda punya tempat yang lebih baik.
- Jika kontrol Anda mewarisi Formulir atau Kontrol Pengguna, disarankan untuk membebani OnLoad secara berlebihan;
- Jika diwarisi dari Control, OnCreateControl bisa kelebihan beban.
Berikut adalah contoh pemuatan data yang lambat:
kelas publik MyTabPage : TabPage {
penggantian yang dilindungi void OnCreateControl() {
base.OnCreateControl();
string oldText = ini.Teks;
this.Text = "Memuat..";
//TODO: Panggil metode memuat data di sini
this.Text = oldText;
}
}
2. Kontrol pohon dimuat ketika diperluas untuk pertama kalinya.
Karena semua node di TreeView tidak mewarisi dari Kontrol, Anda tidak dapat menggunakan metode di atas. Namun, TreeView menyediakan metode virtual OnBeforeExpand. Cara paling sederhana adalah dengan menambahkan tanda yang dimuat ke node yang Anda rencanakan untuk menerapkan pemuatan tertunda perluasan pertama, deteksi tanda ini.
Anda harus ingat bahwa node pemuatan lambat Anda tidak dapat menerima kejadian ini di lokasi root.
3. Malas memuat tabel.
Dalam program Windows, beberapa menggunakan paging untuk menerapkan pemuatan lambat, namun pengalaman pengguna metode ini sangat buruk. Jika Anda masih ingin menggunakan bilah gulir, Anda bisa mengimplementasikan sendiri antarmuka IBindList, yang menyimpan daftar ID data secara internal. Saat formulir meminta data, formulir tersebut memuat data dalam database.
Namun ada sesuatu yang perlu diperhatikan di sini. Misalnya, ketika pengguna menekan PageDown, kontrol tabel terus-menerus memanggil metode akuisisi data. Jika database dipanggil untuk setiap permintaan, kinerja program Anda akan sangat rendah. diprediksi" untuk Anda mungkin harus membaca 50 data, sehingga Anda dapat membaca 50 data lagi sekaligus.
Metode ini tidak memiliki solusi dalam hal penyortiran tabel.
Di atas adalah teknik umum teknologi pemuatan lambat. Jika Anda memiliki metode yang lebih baik, mohon pencerahannya.