Mode Virtual di Formulir Windows Kontrol DataGridView
Dengan mode virtual, Anda dapat mengelola interaksi antara DataGridView kontrol dan cache data kustom. Untuk menerapkan mode virtual, atur VirtualMode properti ke true
dan tangani satu atau beberapa peristiwa yang dijelaskan dalam topik ini. Anda biasanya akan menangani setidaknya CellValueNeeded
peristiwa, yang memungkinkan kontrol mencari nilai dalam cache data.
Mode Terikat dan Mode Virtual
Mode virtual hanya diperlukan ketika Anda perlu melengkapi atau mengganti mode terikat. Dalam mode terikat, Anda mengatur DataSource properti dan kontrol secara otomatis memuat data dari sumber yang ditentukan dan mengirimkan perubahan pengguna kembali ke properti tersebut. Anda dapat mengontrol kolom terikat mana yang ditampilkan, dan sumber data itu sendiri biasanya menangani operasi seperti pengurutan.
Melengkapi Mode Terikat
Anda dapat melengkapi mode terikat dengan menampilkan kolom yang tidak terikat bersama dengan kolom terikat. Ini kadang-kadang disebut "mode campuran" dan berguna untuk menampilkan hal-hal seperti nilai terhitung atau kontrol antarmuka pengguna (UI).
Karena kolom yang tidak terikat berada di luar sumber data, kolom tersebut diabaikan oleh operasi pengurutan sumber data. Oleh karena itu, saat mengaktifkan pengurutan dalam mode campuran, Anda harus mengelola data yang tidak terikat dalam cache lokal dan menerapkan mode virtual untuk membiarkan DataGridView kontrol berinteraksi dengannya.
Untuk informasi selengkapnya tentang menggunakan mode virtual untuk mempertahankan nilai di kolom yang tidak terikat, lihat contoh dalam DataGridViewCheckBoxColumn.ThreeState topik referensi properti dan System.Windows.Forms.DataGridViewComboBoxColumn kelas.
Mengganti Mode Terikat
Jika mode terikat tidak memenuhi kebutuhan performa Anda, Anda dapat mengelola semua data Anda dalam cache kustom melalui penanganan aktivitas mode virtual. Misalnya, Anda dapat menggunakan mode virtual untuk menerapkan mekanisme pemuatan data just-in-time yang hanya mengambil data sebanyak mungkin dari database jaringan yang diperlukan untuk performa optimal. Skenario ini sangat berguna ketika bekerja dengan data dalam jumlah besar melalui koneksi jaringan yang lambat atau dengan komputer klien yang memiliki jumlah RAM atau ruang penyimpanan yang terbatas.
Untuk informasi selengkapnya tentang menggunakan mode virtual dalam skenario just-in-time, lihat Menerapkan Mode Virtual dengan Pemuatan Data Just-In-Time di Formulir Windows Kontrol DataGridView.
Peristiwa Mode Virtual
Jika data Anda bersifat baca-saja, peristiwa mungkin CellValueNeeded
satu-satunya peristiwa yang perlu Anda tangani. Peristiwa mode virtual tambahan memungkinkan Anda mengaktifkan fungsionalitas tertentu seperti pengeditan pengguna, penambahan dan penghapusan baris, dan transaksi tingkat baris.
Beberapa peristiwa standar DataGridView (seperti peristiwa yang terjadi saat pengguna menambahkan atau menghapus baris, atau ketika nilai sel diedit, diurai, divalidasi, atau diformat) juga berguna dalam mode virtual. Anda juga dapat menangani peristiwa yang memungkinkan Anda mempertahankan nilai yang biasanya tidak disimpan di sumber data terikat, seperti teks TipsAlat sel, teks kesalahan sel dan baris, data menu pintasan sel dan baris, dan data tinggi baris.
Untuk informasi selengkapnya tentang menerapkan mode virtual untuk mengelola data baca/tulis dengan cakupan penerapan tingkat baris, lihat Panduan: Menerapkan Mode Virtual di Formulir Windows Kontrol DataGridView.
Untuk contoh yang menerapkan mode virtual dengan cakupan penerapan tingkat sel, lihat VirtualMode topik referensi properti.
Peristiwa berikut hanya terjadi ketika VirtualMode properti diatur ke true
.
Event | Deskripsi |
---|---|
CellValueNeeded | Digunakan oleh kontrol untuk mengambil nilai sel dari cache data untuk ditampilkan. Kejadian ini hanya terjadi untuk sel dalam kolom yang tidak terikat. |
CellValuePushed | Digunakan oleh kontrol untuk menerapkan input pengguna untuk sel ke cache data. Kejadian ini hanya terjadi untuk sel dalam kolom yang tidak terikat. UpdateCellValue Panggil metode saat mengubah nilai cache di luar CellValuePushed penanganan aktivitas untuk memastikan bahwa nilai saat ini ditampilkan dalam kontrol dan untuk menerapkan mode ukuran otomatis yang saat ini berlaku. |
NewRowNeeded | Digunakan oleh kontrol untuk menunjukkan kebutuhan akan baris baru dalam cache data. |
RowDirtyStateNeeded | Digunakan oleh kontrol untuk menentukan apakah baris memiliki perubahan yang tidak dilakukan. |
CancelRowEdit | Digunakan oleh kontrol untuk menunjukkan bahwa baris harus kembali ke nilai singgahannya. |
Peristiwa berikut berguna dalam mode virtual, tetapi dapat digunakan terlepas dari VirtualMode pengaturan properti.
Aktivitas | Deskripsi |
---|---|
UserDeletingRow UserDeletedRow RowsRemoved RowsAdded |
Digunakan oleh kontrol untuk menunjukkan kapan baris dihapus atau ditambahkan, memungkinkan Anda memperbarui cache data yang sesuai. |
CellFormatting CellParsing CellValidating CellValidated RowValidating RowValidated |
Digunakan oleh kontrol untuk memformat nilai sel untuk tampilan dan untuk mengurai dan memvalidasi input pengguna. |
CellToolTipTextNeeded | Digunakan oleh kontrol untuk mengambil teks TipsAlat DataSource sel saat properti diatur atau VirtualMode properti adalah true .TipsAlat Sel hanya ditampilkan saat ShowCellToolTips nilai properti adalah true . |
CellErrorTextNeeded RowErrorTextNeeded |
Digunakan oleh kontrol untuk mengambil teks kesalahan sel atau baris saat DataSource properti diatur atau VirtualMode properti adalah true .UpdateCellErrorText Panggil metode atau UpdateRowErrorText metode saat Anda mengubah teks kesalahan sel atau baris untuk memastikan bahwa nilai saat ini ditampilkan dalam kontrol. Glyph kesalahan sel dan baris ditampilkan saat ShowCellErrors nilai properti dan ShowRowErrors adalah true . |
CellContextMenuStripNeeded RowContextMenuStripNeeded |
Digunakan oleh kontrol untuk mengambil sel atau baris ContextMenuStrip saat properti kontrol DataSource diatur atau VirtualMode properti adalah true . |
RowHeightInfoNeeded RowHeightInfoPushed |
Digunakan oleh kontrol untuk mengambil atau menyimpan informasi tinggi baris dalam cache data. UpdateRowHeightInfo Panggil metode saat mengubah informasi tinggi baris yang di-cache di luar RowHeightInfoPushed penanganan aktivitas untuk memastikan bahwa nilai saat ini digunakan dalam tampilan kontrol. |
Praktik Terbaik dalam Mode Virtual
Jika Anda menerapkan mode virtual untuk bekerja secara efisien dengan data dalam jumlah besar, Anda juga ingin memastikan bahwa Anda bekerja secara efisien dengan kontrol itu DataGridView sendiri. Untuk informasi selengkapnya tentang penggunaan gaya sel yang efisien, ukuran otomatis, pilihan, dan berbagi baris, lihat Praktik Terbaik untuk Menskalakan Kontrol Formulir Windows DataGridView.
Baca juga
- DataGridView
- VirtualMode
- Penyetelan Performa di Kontrol Formulir Windows DataGridView
- Praktik Terbaik untuk Menskalakan Kontrol Formulir Windows DataGridView
- Panduan: Menerapkan Mode Virtual di Kontrol Formulir Windows DataGridView
- Menerapkan Mode Virtual dengan Pemuatan Data Just-In-Time di Formulir Windows Kontrol DataGridView
.NET Desktop feedback
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk